摘要:
1,栈的介绍
2,栈的链表实现
3,栈的数组实现
1,栈的介绍
栈(stack)又称堆栈,是一种特殊的线性表,只能对栈顶添加和删除元素,它是一种后进先出(LIFO, Last In First Out)的数据结构。
栈的两种基本操作:压栈(push)和出栈(pop)。
压栈:将数据放入堆栈顶端。
出栈:将堆栈顶端数据移除。
堆栈只能操作一端,我们前面讲过双端队列,就是两端都可以添加和删除元素,如果把双端队列的一端封住,只操作另一端,那么它就是一个栈。
使用递归的时候也是在不停的压栈和出栈,所以递归我们也可以使用栈来实现。栈也是一种比较简单的数据结构,常见函数不多:
public void push(int val);// 入栈
public int pop();// 出栈
public int top();// 获取栈顶元素的值,不出栈
public int getCount();// 获取栈中元素的个数