数据结构之队列的实现(JAVA)

StackElement请看栈的实现

package com.lip.datastruture.stack;public class Queue<T>{private StackElement<T> obj;//保存数据private int size;// 元素个数public Queue(){this.size = 0;}// 入队列public boolean enQueue(T data){if (data != null){StackElement<T> tempElement = obj;if (obj != null){while (obj.getNextElement()!= null){obj = obj.getNextElement();}obj .setNextElement(new StackElement<T>(data));obj=tempElement;}elseobj=new StackElement<T>(data);this.size++;return true;}return false;}// 出队列public boolean deQueue(){if (this.size > 0){this.obj = this.obj.getNextElement();this.size–;return true;}return false;}// 得到第一个入队列的元素public T getFirst(){if (obj != null)return obj.getData();return null;}// 得到最后一个入队列的元素public T getLast(){StackElement<T> tempElement = obj;if (tempElement != null){while (tempElement.getNextElement() != null){tempElement = tempElement.getNextElement();}return tempElement.getData();}return null;}public int size(){return this.size;}public static void main(String[] args){Queue<Integer> queue = new Queue<Integer>();for (int i = 0; i < 20; i++){queue.enQueue(i);}System.out.println("First:" + queue.getFirst());System.out.println("Last:" + queue.getLast());System.out.println("Size" + queue.size());for (int i = 0; i < 20; i++){System.out.println(queue.getFirst());queue.deQueue();}}}运行结果:

,怕走崎岖路,莫想登高峰。

数据结构之队列的实现(JAVA)

相关文章:

你感兴趣的文章:

标签云: