栈及栈的应用+回文+中、后缀表达式 1、栈顺序存储结构的基本操作算法实现 (1)栈顺序存储结构的类定义: (2)构造栈算法 输入:栈元素个数的最大数size 初始化栈:栈顶指示置为-1,创建存储栈的数组,栈元素个数的最大数maxsize置 为size; (3)获得栈顶元素算法 输入:无 前置条件:栈 ...
分类:
编程语言 时间:
2019-03-31 09:30:50
阅读次数:
176
复习下数据结构基础 线性表:由零个或多个数据元素组成的有限序列。 数组:在我们程序设计中,为了处理方便,会把一些具有相同类型的元素有序的放在一起,这些有序排列的数据元素的集合成为数组。 栈:栈是只能在一端插入或删除的特殊线性表,先入栈的数据在栈底,后入栈的数据在栈顶,需要读取数据时,最先获取到的是栈 ...
分类:
其他好文 时间:
2019-03-25 16:07:33
阅读次数:
175
栈也是数据结构中重要数据结构,它分为链栈和数组栈,特性:元素先进后出,后进先出 读取也只能读取栈顶元素,栈的应用有以下几种:括号匹配,进制转换,与递归也有关系,判断回文,表达式计算(我会在以后文章专门写几篇介绍应用) 推荐在书写数据结构时,保留一个主函数进行测试 栈的源代码: ...
分类:
编程语言 时间:
2019-02-16 15:28:36
阅读次数:
184
栈 栈的定义 栈是限制在表的一端进行插入和删除的线性表。允许插入、删除的这一端称为栈顶,另 一个固定端称为栈底。当表中没有元素时称为空栈。 栈的存储实现和运算实现 栈是运算受限的线性表,线性表的存储结构对栈也是适用的,只是操作不同而已。 利用顺序存储方式实现的栈称为顺序栈。 与线性表类似,栈的动态分 ...
分类:
编程语言 时间:
2019-01-21 17:52:58
阅读次数:
236
栈和队列 栈和队列是比数组更加抽象的结构,本人理解是为了特殊场景下建立秩序的一个工具,表示抽象的一个过程,数组更像一个结果。 栈 创建一个空栈 入栈 出栈 查看元素 Java代码实现 ...
分类:
编程语言 时间:
2018-12-19 23:23:29
阅读次数:
180
栈Stack *栈也是一种线性数据结构 *相比数组,栈对应的操作是数组的子集 *只能从一端添加元素,也只能从这一端取出元素 *这一端称为栈顶 *栈是一种后进先出的数据结构(Last in first out) *在计算机的世界里,栈拥有着不可思议的作用 栈的应用: *无处不在的undo操作(撤销) ...
分类:
编程语言 时间:
2018-11-24 11:38:17
阅读次数:
165
用链表实现栈: 链表栈: 测试: 和数组栈比较: 测试用例: 测试结果:链表栈比数组栈快一些,但没有复杂度上的巨大差异 ...
分类:
其他好文 时间:
2018-11-20 01:21:41
阅读次数:
178
我理解的数据结构(二)—— 栈(Stack) 一、栈基础 栈是一种线性结构 相比较数组,栈对应的操作是数组的子集 只能从一端添加元素,也只能从同一端取出元素,这一端称为栈顶 栈是一种后进先出的数据结构,LIFO(Last In First Out) 二、栈的应用 Undo操作(撤销) 程序调用所使用 ...
分类:
其他好文 时间:
2018-11-17 19:14:20
阅读次数:
155
什么是链表链表是一种线性结构,也是最基础的动态数据结构。我们在实现动态数组、栈以及队列时,底层都是依托的静态数组,靠resize来解决固定容量的问题,而链表是真正的动态数据结构。学习链表这种数据结构,能够更深入的理解引用(或者指针)以及递归。其中链表分为单链链表和双链链表,本文中所介绍的是单链链表。链表中的数据是存储在一个个的节点中,如下这是一个最基本的节点结构:classNode{Ee;Node
分类:
其他好文 时间:
2018-11-09 20:58:31
阅读次数:
148
栈栈Stack:栈是一种线性结构相比数组,栈对应的操作是数组的子集,所以我们完全可以基于动态数组去实现它栈只能从一端添加元素,也只能从同一端取出元素,这一端称为栈顶栈是一种后进先出的数据结构(LastInFirstOut简称为LIFO)举个不太恰当的比喻,栈就像一个直径比乒乓球大点的水杯,而元素就像是乒乓球,现在我们要把几个乒乓球放入杯子里。因为杯子底部是实的,所以我们只能从杯口放入兵乓球,我们把
分类:
其他好文 时间:
2018-11-08 13:21:12
阅读次数:
149