家装网站自己做的,建筑工程承包,希音跨境平台入驻条件,网页打不开但是微信和qq都可以上实现队列比实现栈的会多一点复杂#xff0c;需要两个标记#xff0c;first表示队头#xff0c;last表示队尾。
链表结构 private class Node{Item item;Node next;}迭代器
与实现栈的迭代器一模一样
private class Iterator implements java.util.IteratorItem{p…实现队列比实现栈的会多一点复杂需要两个标记first表示队头last表示队尾。
链表结构 private class Node{Item item;Node next;}迭代器
与实现栈的迭代器一模一样
private class Iterator implements java.util.IteratorItem{private Node pfirst;Overridepublic boolean hasNext() {return p!null;}Overridepublic Item next() {Item itemp.item;pp.next;return item;}Overridepublic void remove() {}}源代码
static class queueItem{private Node first;//队头private Node last;//队尾private int N;private class Node{Item item;Node next;}private boolean isEmpty(){return firstnull;}private int size(){return N;}private void enqueue(Item item){//入队Node oldlastlast;lastnew Node();last.itemitem;last.nextnull;if(isEmpty()){//如果队列为空则first需要和last指向相同firstlast;}else {//队列不为空的话就是正常情况直接last指向队尾的下一个位置nulloldlast.nextlast;}N;}private Item dequeue(){//出队Item itemfirst.item;firstfirst.next;if(isEmpty()){//如果队里没有元素的话last得为空lastnull;}N--;return item;}private Iterator iterator(){return new Iterator();}private class Iterator implements java.util.IteratorItem{private Node pfirst;Overridepublic boolean hasNext() {return p!null;}Overridepublic Item next() {Item itemp.item;pp.next;return item;}Overridepublic void remove() {}}}简单实例
public static void main(String[] args) {queueInteger stringqueue new queueInteger();System.out.println(入队中... ...);for(int i1;i9;i){stringqueue.enqueue(i);}queueInteger.Iterator iterator stringqueue.iterator();System.out.println(迭代中... ...);while(iterator.hasNext()){System.out.print(iterator.next() );}System.out.println();System.out.println(---我是分割线---\n出队中... ...);while (!stringqueue.isEmpty()){System.out.print(stringqueue.dequeue() );}if(stringqueue.size()0){System.out.println(出队完毕);}}