重拾 DSA 之栈
下面是 wikipedia 对于栈的定义:
堆栈 (英语:stack),也可直接称栈(港澳台作堆叠),在计算机科学中,是一种特殊的串列形式的数据结构,它的特殊之处在于只能允许在链接串列或阵列的一端(称为堆叠顶端指标,英语:top)进行加入数据(英语:push)和输出数据(英语:pop)的运算。另外栈也可以用一维数组或连结串列的形式来完成。
由于堆叠数据结构只允许在一端进行操作,因而按照后进先出(LIFO, Last In First Out)的原理运作。
简单示意图:
这里使用 LinkedList 存储数据。
- 入栈
1 | public void push(T t) { |
- 出栈
1 | public void pop() { |
- 获取栈顶元素
1 | public T getPop() { |