Java实现LinkQueue

来源:互联网 发布:js 0 100两位小数 编辑:程序博客网 时间:2024/06/05 11:27

1.结点类

package edu.tcu.soft;/*结点类*/public class Node<T> {private T data;private Node<T> nextNode;public T getData() {return data;}public void setData(T data) {this.data = data;}public Node<T> getNextNode() {return nextNode;}public void setNextNode(Node<T> nextNode) {this.nextNode = nextNode;}public Node(T data, Node<T> nextNode) {super();this.data = data;this.nextNode = nextNode;}}

2.链队列实现类

package edu.tcu.soft;/*链队列实现类*/public class LinkQueue<T> {private Node<T> front;private Node<T> rear;private int size;public LinkQueue() {Node<T> node = new Node<T>(null, null);front = node;rear = node;}// 入队操作public void enQueue(T data) {Node<T> node = new Node<T>(data, null);rear.setNextNode(node);rear = node;size++;}// 出队操作public T deQueue() {if(front == rear) {System.out.println("链队为空");return null;}        Node<T> node=front.getNextNode();        T t=node.getData();        front.setNextNode(node.getNextNode());        if(node.getNextNode()==null)        rear=front;        size--;        return t;}// 获取队列的对头元素public T getQueueTop() {return front.getNextNode().getData();}// 判断链队列是否为空public int empty() {if (size == 0)return 1;return 0;}}

3.测试类

package edu.tcu.soft;public class Test {   public static void main(String[] args) {LinkQueue<Integer> queue=new LinkQueue<>();queue.enQueue(9);queue.enQueue(8);queue.enQueue(7);queue.enQueue(6);System.out.println("队头元素:"+queue.getQueueTop());System.out.println("出队元素:"+queue.deQueue());System.out.println("队是否为空:"+queue.empty());queue.deQueue();queue.deQueue();System.out.println("队头元素:"+queue.getQueueTop());}} 



0 0