常用数据结构:线性结构-2

上一篇 / 下一篇  2012-05-04 11:19:15 / 个人分类:杂谈

队列

^6SMY1j [0  队列遵循先进先出的原则,如下图:51Testing软件测试网lrk hs

51Testing软件测试网(m\Nty_

  Java测试代码如下:

)nal.?9v/~a Py0FM0

51Testing软件测试网J MB|0c[!d]W i8]2n

  1. package com.snail.test;  
  2.  
  3. /** 
  4.  * 
  5.  * @author Zang XT 
  6.  */ 
  7. import java.util.Queue;  
  8. import java.util.LinkedList;  
  9. public class TestQueue {  
  10.     public static void main(String[] args) {  
  11.         Queue<String> queue = new LinkedList<String>();  
  12.           
  13.         queue.offer("NO1");  
  14.         queue.offer("NO2");  
  15.         queue.offer("NO3");  
  16.           
  17.         System.out.println("初始数量" + queue.size());  
  18.         String str;  
  19.         while((str=queue.poll())!=null){  
  20.             System.out.println(str);  
  21.         }  
  22.         System.out.println("取出后数量" + queue.size());  
  23.     }  
  24. }

  运行结果顺序为:初始数量3,NO1,NO2,NO3,取出后数量0。51Testing软件测试网'@y8sWX0{:d

  队列还有一种形式为循环队列,如下图:51Testing软件测试网]M0@] dX(V0x-Q%a|.G

8\`5])C2Srt:q0

  循环队列有两个指针,头指针head和尾指针tail,尾指针一般指向的不是队尾元素实际地址,而是指向实际地址的下一个空地址,因此,循环队列一般牺牲最后一个空间,用来计算该队列是否满了,判断方式是tail+1 = head,既该队列已满。

0O2}vC-?3S {0

  为了尽可能的说清楚,插了大量图片,希望理解。以后有时间将继续分析树、图等数据结构。

7m#f$d8UP\0

TAG:

 

评分:0

我来说两句

Open Toolbar