/**
* 栈(Stack)是限制仅在表的一端进行插入和删除运算的线性表。
* (1)通常称插入、删除的这一端为栈顶(Top),另一端称为栈底(Bottom)。
* (2)当表中没有元素时称为空栈。
* (3)栈为后进先出(Last In First Out)的线性表,简称为LIFO表。
* 栈的修改是按后进先出的原则进行。
* 每次删除(退栈)的总是当前栈中"最新"的元素,即最后插入(进栈)的元素,而最先插入的是被放在栈的底部,要到最后才能删除。
* @author gulijiang
*
*/
public class Stack1 {
private LinkedList linkedList = new LinkedList();
public void push(Object o){
linkedList.addFirst(o);
}
public Object pop(){
Object o = linkedList.removeFirst();
return o;
}
public boolean empty(){
return linkedList.isEmpty();
}
/**
* 返回栈顶的元素
* @return
*/
public Object peek(){
return linkedList.peek();
}
public static void main(String[] args) {
Stack1 stack1 = new Stack1();
System.out.println(stack1.empty());
stack1.push("1");
stack1.push("2");
stack1.push("3");
System.out.println(stack1.peek());
/*System.out.println(stack1.linkedList.size());
System.out.println(stack1.empty());
stack1.pop();
System.out.println(stack1.peek());
System.out.println(stack1.linkedList.size());*/
for (int i = 0; i < stack1.linkedList.size(); i++) {
System.out.println(stack1.linkedList.get(i));
}
}
}
Java实现栈一:通过LinkedList实现
最新推荐文章于 2024-07-10 22:26:50 发布