下压堆栈(链表实现):
import java.util.Iterator; public class LinkedStack<Item> implements Iterable<Item> { public class Node { Item item; Node next; } private Node frist; private int N = 0; public boolean isEmpty() { return N == 0; } public int size() { return N; } public void push(Item item) { Node oldFrist = frist; frist = new Node(); frist.next = oldFrist; frist.item = item; N++; } public Item pop() { Item item = frist.item; frist = frist.next; N--; return item; } @Override public Iterator<Item> iterator() { // TODO Auto-generated method stub return new LinkedStackIterator(); } private class LinkedStackIterator implements Iterator<Item> { private Node current = frist; @Override public boolean hasNext() { // TODO Auto-generated method stub return current != null; } @Override public Item next() { // TODO Auto-generated method stub Item item = current.item; current = current.next; return item; } @Override public void remove() { // TODO Auto-generated method stub } } }
先进先出队列(链表实现):
import java.util.Iterator; public class LinkedQueue<Item> implements Iterable<Item> { public class Node { Item item; Node next; } private Node frist; private Node last; private int N = 0; public boolean isEmpty() { return frist == null; } public int size() { return N; } public void enqueue(Item item) { Node oldLast = last; last = new Node(); last.item = item; last.next = null; if(isEmpty()) { frist = last; } else { oldLast.next = last; } N++; } public Item dequeue() { Item item = frist.item; frist = frist.next; if(isEmpty()) { last = null; } N--; return item; } @Override public Iterator<Item> iterator() { // TODO Auto-generated method stub return new LinkedQueueIterator(); } private class LinkedQueueIterator implements Iterator<Item> { private Node current = frist; @Override public boolean hasNext() { // TODO Auto-generated method stub return current != null; } @Override public Item next() { // TODO Auto-generated method stub Item item = current.item; current = current.next; return item; } @Override public void remove() { // TODO Auto-generated method stub } } }
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-11-03 03:25:38