栈:
- 定义:只能在同一端进行插入或删除操作的线性表(受限的线性表)
- 特点:后进先出(每次进栈的元素都作为新栈顶元素,每次出栈的元素只能是当前栈顶元素)
- 栈的实现:
- 数组
- 链表
- 数组实现的栈创建时容量固定,在不考虑后期扩容的情况下,容易栈溢出,链栈在内存足够的情况下,通常不会栈溢出
数组实现栈:
1 | /** |
链栈(带哨兵结点 [ 哨兵结点不存数据 ] 单链表实现,哨兵结点一边作栈顶)
1 | public class LinkStackClass<E>{ |
Java 栈:
- Stack(数组栈)
- Iterator 接口
- Collection接口
- List接口
- Vetcor 类
- Stack 类
- Vetcor 类
- List接口
- Collection接口
常用方法:
(1)boolean empty():判断栈是否为空。
(2)int size():返回栈中元素个数。
(3)E push(E item):把对象压入栈顶,即进栈操作。
(4)E pop():移除栈顶对象,并作为此函数的值返回该对象,即出栈操作。
(5)E peek():查看栈顶对象,但不从栈中移除它,即返回栈顶元素操作。
(6)int search(Object o):返回元素o在栈中的位置,该位置从栈顶开始往下算,栈顶为1。
(7)boolean contains(Object o):如果栈中包含指定的元素o,则返回true;否则返回false。
- LinkedList(可做链栈)
常用方法:
(1)push(E e):头部添加元素
(2)pop():移除头部元素
(3)peek():查看头部元素
- 本文作者: zzr
- 本文链接: http://zzruei.github.io/2023/021b97c4b0.html
- 版权声明: 本博客所有文章除特别声明外,均采用 Apache License 2.0 许可协议。转载请注明出处!