本文共 1070 字,大约阅读时间需要 3 分钟。
数据结构和算法系列共八篇
栈其实特殊的线性表。被限制了只能头操作
表的一端进行插入和删除操作,不允许在其他任何位置进行插入、查找、删除等操作。
java的栈内存就是很好的例子
特点:
常见操作
顺序栈是使用顺序存储结构实现的堆栈,即利用一组地址连续的存储单元依次存放堆栈中的数据元素。
栈只对栈顶(顺序表一端)操作,所以入栈、出栈等时间复杂度为Ο(1)。
当采用单链表存储线性表后,根据单链表的操作特性选择单链表的头部作为栈顶。时间复杂度也为Ο(1)。
我们直接使用java提供的类来演示
java种使用Deque来操作栈,因为栈是双端队列的一种特例(只操作一端,即栈了)
Deque是接口,使用了LinkedList来实列化对象。因为LinkedList实现了Deque
``java
public class JavaStackTest {public static void main(String[] args) { Dequestack = new LinkedList (); stack.push("a"); stack.push("b"); stack.push("c"); stack.push("d"); while (!stack.isEmpty()) { System.out.print(stack.pop()); }}
}
``结果:dcba
下一步如何再深造呢?
去看java的
Dque
的实现类ArrayDeque
、ListList
、LinkedBlockingDeque
等源码
能读到文章最后,首先得谢谢您对本文的肯定,你的肯定是对博主最大的鼓励。
你觉本文有帮助,那就点个👍
你有疑问,那就留下您的💬 怕把我弄丢了,那就把我⭐ 电脑不方便看,那就把发到你📲转载地址:http://wkhws.baihongyu.com/