package 算法;
import java.util.Iterator;
public class stack <Item>{
private class Node{
Item item;
Node next;
}
private Node first;
private int N = 0;
public boolean isEmpty() {return N == 0;}
public int sizw() {return N;}
public Item pop() {
Item out = first.item;
first = first.next;
N--;
return out;
}
public void push(Item item) {
Node temp = new Node();
temp.item = item;
temp.next = first;
first = temp;
N++;
}
}
队列
package 算法;
public class queue<Item> {
public class Node{
Item item;
Node next;
}
private Node first;
private Node end;
private int N;
public void push(Item item) {
Node new_end = new Node();
new_end.item = item;
new_end.next = null;
if (isEmpty()) { first = end;}
else {
end.next = new_end;
end = end.next;
}
N++;
}
public Item pop() {
Item temp = first.item;
first = first.next;
N--;
return temp;
}
public int size(){return N;}
public boolean isEmpty() {return N == 0;}
}