标签:
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; } else obj=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(); } } }运行结果:
标签:
原文地址:http://blog.csdn.net/yilip/article/details/44763379