栈(stack)在计算机科学中是限定仅在表尾进行插入或删除操作的线性表。
栈是一种数据结构,它按照后进先出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据。
栈是只能在某一端插入和删除的特殊线性表。用桶堆积物品,先堆进来的压在底下,随后一件一件往堆。取走时,只能从上面一件一件取。堆和取都在顶部进行,底部一般是不动的。栈就是一种类似桶堆积物品的数据结构,进行删除和插入的一端称栈顶,另一堆称栈底。插入一般称为进栈,删除则称为退栈。 栈也称为后进先出表。
package com.javaer.examples.datastruct;
import java.util.Stack;
public class StackExample {
/**
* @param args
*/
public static void main(String[] args) {
Stack s = new Stack();
Object o;
s.push("1");
s.push("2");
o = s.push("3");
System.out.println(o);
o = s.add("4a");
System.out.println(o);
s.addElement("5e");
System.out.println("----------------------------------");
while (!s.empty()) {
System.out.println(s.pop());
}
}
}
boolean
empty()
测试堆栈是否为空。
E
peek()
查看堆栈顶部的对象,但不从堆栈中移除它。
E
pop()
移除堆栈顶部的对象,并作为此函数的值返回该对象。
E
push(Eitem)
把项压入堆栈顶部。
int
search(Objecto)
返回对象在堆栈中的位置,以 1 为基数。
add 方法和push都可以加入一个新的对象,但是add不会返回这个元素。
标准用法还是push