栈的定义以及用java实现栈的API的两种形式–链表和数组
最近在学习算法第四版,看网课的同时,才发现之前学数据结构的时候囫囵吞枣,没有领会到其中的精髓,故对栈的相关知识进行略微总结,如有不对之处请指出,谢谢!
栈的定义
栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。
public class StackOfStrings
------------------------------------------------------------------------
StackOfStrings //创建一个空栈
void push(String item) //往栈里压入一个数据
String pop(