栈(Stack)
栈是一种先进后出(FILO
,First in last out)或后进先出(LIFO
,Last in first out)的数据结构。
-
单向链表:可以利用一个单链表来实现栈的数据结构。而且,因为我们都只针对栈顶元素进行操作,所以借用单链表的头就能让所有栈的操作在 O(1) 的时间内完成。
-
Stack:是Vector的子类,比Vector多了几个方法
-
Java中的Vector是一个动态数组类,它实现了List接口。与普通数组相比,Vector的大小是可变的,可以根据需要动态调整。Vector还提供了许多方法来操作和访问其中的元素,如添加、删除、查找等。Vector是线程安全的,可以在多线程环境下使用。
public class Stack<E> extends Vector<E> {
// 把元素压入栈顶
public E push(E item) {
addElement(item);
return item;
}
// 弹出栈顶元素
public synchronized E pop() {