栈是一种先进后出的结构,用户只能看见栈顶,栈尾部,而中间的元素不需要关心。
栈结构图:
程序调用的系统栈(递归)
栈的实现(一共有5个操作)
Stack<E> 从用户的角度看,支持这些操作就好
·void push(E) :入栈)O(1)
·E pop() :出栈 O(1)
.E peek() :获取栈顶元素 O(1)
.int getSize():获取栈的大小 O(1)
.boolean isEmpty():判断是否为空 O(1)
栈的两种实现方式:
1,顺序栈:
用数组实现:内存空间连续 ;扩容麻烦。
2,链表栈:
用链表实现:内存空间不连续;扩容容易。