栈是仅能在表尾(栈顶)进行插入或删除操作的 线性表 后进后出 基本操作: 初始化,判断是否为空栈,取栈顶元素,插入新的栈顶元素。 非空栈中栈顶指针始终在栈顶元素的下一个位置 分为顺序栈: 链栈: 链栈最后运行是有一个bug ...
分类:
其他好文 时间:
2019-03-29 19:11:48
阅读次数:
138
栈也是数据结构中重要数据结构,它分为链栈和数组栈,特性:元素先进后出,后进先出 读取也只能读取栈顶元素,栈的应用有以下几种:括号匹配,进制转换,与递归也有关系,判断回文,表达式计算(我会在以后文章专门写几篇介绍应用) 推荐在书写数据结构时,保留一个主函数进行测试 栈的源代码: ...
分类:
编程语言 时间:
2019-02-16 15:28:36
阅读次数:
184
数据结构 链栈的实现 1 链栈的定义 现在来看看 栈的链式存储结构,简称为链栈 。 想想看栈只是栈顶来做插入和删除操作,栈顶放在链表的头部还是尾部呢?由于单链表有头指针,而栈顶指针也是必须的,那干吗不让它俩合二为一呢,所以比较好的办法是把栈顶放在单链表的头部(如下图所示)。另外,都已经有了栈顶在头部 ...
分类:
编程语言 时间:
2019-01-28 00:54:39
阅读次数:
278
链式存储结构最大的好处就是没有空间的限制,可以通过指针指向将结点像以链的形式把结点链接,我们熟悉的线性表就有链式存储结构。 当然,栈同样有链式存储结构,栈的链式存储结构,简称链栈。 从图片可以看到,和单链表很像,拥有一个头指针top,又称作栈顶指针,所以此时就不再需要单链表里面的头结点了。 对于链栈 ...
分类:
编程语言 时间:
2019-01-23 00:16:58
阅读次数:
209
问题描述:用链式存储实现栈的基本操作 涉及变量:top:自定义Node类,指向栈顶元素的结点 涉及教材:《数据结构——Java语言描述(第2版)》 清华大学出版社 大致思路: 链式存储结构一般是通过链接结点类来形成链 出栈是由栈顶元素向栈底元素方法依次输出 则top的位置需指向栈顶元素 判空的根据是 ...
分类:
其他好文 时间:
2019-01-20 16:02:33
阅读次数:
169
1.描述:实质是一种受到限制的表,即插入删除只能在表的末端,能够实现LIFO(后进先出) 2.栈的实现 链表实现(链栈) 数组实现(顺序栈) 3.链栈 创建一个空栈 测试栈是否为空 从栈顶弹出元素 返回栈顶元素(不弹出,不改变栈顶指针),遇到空栈将返回异常 清空栈(同时销毁物理内存) 压栈 遍历栈 ...
分类:
编程语言 时间:
2018-12-31 18:59:04
阅读次数:
240
异同 栈(Stack)和队列(Queue)是两种操作受限的线性表。 这种受限表现在:栈的插入和删除操作只允许在表的尾端进行(在栈中成为“栈顶”), 满足“FIFO:First In Last Out”;队列只允许在表尾插入数据元素,在表头删除数据元素, 满足“First In First Out”。 ...
分类:
其他好文 时间:
2018-12-06 12:11:32
阅读次数:
265
链栈与链表结构相似 链栈的入栈和链表的前插法一模一样。 出栈 ...
分类:
编程语言 时间:
2018-11-27 19:35:28
阅读次数:
194