Java实现队列(循环队列,链队列)
生活随笔
收集整理的這篇文章主要介紹了
Java实现队列(循环队列,链队列)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
循環(huán)隊列:
package SeqQueue;public class Queue {private int data[];private int queueSize;private int front,rear;public Queue(){data = new int[100];queueSize = 100;front = rear = 0;}public Queue(int n){queueSize = n;data = new int[queueSize];front = rear = 0;}public boolean isFull(){if ((rear+1)%queueSize==front) return true;return false;}public boolean isEmpty(){if (front==rear) return true;return false;}public int lenQueue(){return (rear-front+queueSize)%queueSize;}public boolean enQueue(int e){if (isFull()) return false;data[rear] = e;rear = (rear+1)%queueSize;return true;}public boolean deQueue(){if (isEmpty()) return false;front = (front+1)%queueSize;return false;}public int frontQueue(){if (isEmpty()){System.out.println("The queue is empty");return 0;}return data[front];} }測試類:
package SeqQueue;public class TestQueue {public static void main(String[] args){Queue q = new Queue();q.enQueue(25);q.enQueue(56);q.enQueue(123);q.enQueue(8);System.out.println(q.frontQueue());q.deQueue();System.out.println(q.frontQueue());System.out.println(q.lenQueue());q.deQueue();q.deQueue();q.deQueue();} }鏈隊列:
package LinkQueue;public class Queue {private class queueNode{private int data;private queueNode next;public queueNode(int e){data = e;next = null;}public queueNode(){data = 0;next = null;}}private queueNode front,rear;public Queue(){rear = new queueNode();rear.next = null;front = rear;}public boolean isEmpty(){return front==rear;}public boolean enQueue(int e){queueNode s = new queueNode(e);rear.next = s;rear = s;return true;}public boolean deQueue(){if (isEmpty()) return false;queueNode p = front.next;front.next = p.next;if (p==rear) rear = front;p.next = null;return true;}public int frontQueue(){if (isEmpty()){System.out.println("The queue is empty");return 0;}return front.next.data;}public int lenQueue(){int j = 0;queueNode p = front.next;while(p!=null){j++;p = p.next;}return j;}}測試類:
package LinkQueue;import LinkQueue.Queue;public class TestQueue {public static void main(String[] args){Queue q = new Queue();q.enQueue(25);q.enQueue(56);q.enQueue(123);q.enQueue(8);System.out.println(q.frontQueue());q.deQueue();System.out.println(q.frontQueue());System.out.println(q.lenQueue());q.deQueue();q.deQueue();q.deQueue();} }總結(jié)
以上是生活随笔為你收集整理的Java实现队列(循环队列,链队列)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 老年人学剪映老年人学剪映7l
- 下一篇: Java实现BST搜索树