java实现链队列

1.链队列的优势劣势
链队列的长度是动态增长的
需要消耗空间用来存放指针
2.链队列的实现 //外部类不能直接调用内部类属性
1.入队列操作,采用内部类的方式,内部类是结点类Node,定义了next和data数据域。外部类是链队列类,定义了头指针top和尾指针rear,定义了count用来记录队列中元素个数。进行入队列操作时候要判断是不是第一次入队列,第一次入队列要将top和rear都指向当前结点。如果不是第一次入队列,那么top指针不移动,rear.next代表的是上一个结点的指针域,将新入队列的结点的首地址赋值给rear.next,此时上一个结点和当前新插入的结点就连接起来了;最后移动rear指针,rear指向当前插入结点。
2.出队列操作:此时要判断队列是否为空,如果不为空则移动top指向下一个结点。这里的注意要点是需要定义一个中间变量存放当前top的值用来返回出队列的值。
 1 package Queue;
 2 /**
 3 * @类名  LinkQueue.java
 4 * @作者       修仙小华
 5 * @版本  V1.0
 6 * @日期  2019年7月26日-下午1:16:46
 7 * @描述  
 8 * *队列是一种逻辑结构,队列的链式实现
 9 */
10 public class LinkQueue {
11     Node top;
12     Node rear;
13     int count=0;
14     /**
15      * 入队列
16      */
17     public void push(String data) {
18         Node node=new Node(data);
19         if (top==null) {
20             top=node;
21             rear=node;
22         }else {
23             rear.next=node;
24             rear=node;
25         }
26         count++;
27     }
28     /**
29      * 出队列
30      */
31     public String pop() {
32         if (top==null) {
33             return null;
34         }else {
35             Node temp=top;
36             top=top.next;
37             this.count--;
38             return temp.data;
39         }
40     }
41     
42     
43     
44     class Node{
45         public String data;
46         Node next;
47         /**
48          * 有参构造和无参构造
49          */
50         public Node() {
51             
52         }
53         public Node(String data) {
54             this.data=data;
55         }
56         
57     }
58 }

测试类:

 1 public class LinkQueueText {
 2     public static void main(String[] args) {
 3         LinkQueue link=new LinkQueue();
 4         link.push("张三");
 5         link.push("李四");
 6         link.push("王二");
 7         link.push("麻子");
 8         link.push("狗帅");
 9         System.out.println(link.pop());
10         System.out.println(link.pop());
11         System.out.println(link.pop());
12         System.out.println(link.count);
13     }
14 
15 }

 

 
 
posted @ 2019-07-30 09:35  修仙小华  阅读(595)  评论(0编辑  收藏  举报