算法——先进先出队列

来源:互联网 发布:炉石大数据是哪个app 编辑:程序博客网 时间:2024/06/04 19:04
public class Stack<Item> implements Iterable<Item>{    private Node first;    private int N;    private  class Node{        Item item;        Node next;    }    public void push(Item item){        Node oldFirst = first;        first = new Node();        first.item = item;        first.next = oldFirst;        N++;    }    public Item pop(){        Item item = first.item;        first = first.next;        N--;        return item;    }    public int size(){        return N;    }    public boolean isEmpty(){        return first == null;    }    @Override    public Iterator<Item> iterator() {        return new ListIterator();    }    private class ListIterator implements Iterator<Item>{        private Node current = first;        @Override        public boolean hasNext() {            return current != null;        }        @Override        public Item next() {            Item item = current.item;            current = current.next;            return item;        }        @Override        public void remove() {            throw new UnsupportedOperationException();        }    }}

使用节点作为数据组织方式。

0 0