单片机里的堆栈 做单片机的应该都听说过堆栈,跟指针一样,一看到这两个就会莫名的蛋疼。但是用汇编的同志肯定不会陌生,因为要经常出栈入栈,但是用C语言的同志有一些可能就比较陌生了,因为出入栈全部交给了编译器。最近我就在这里吃了亏,虽然听说过堆栈,也知道在哪里修改,但因为以前写的代码量很小,变量完全不会让 ...
分类:
其他好文 时间:
2019-03-09 01:17:05
阅读次数:
184
顺序存储结构 和 链接存储结构 适用在内存结构中、索引存储结构 和 散列存储结构 适用在外存与内存交互结构 索引存储:除建立存储结点信息外,还建立附加的索引表来标识结点的地址。索引表由若干索引项组成。索引存储结构是用结点的索引号来确定结点存储地址,其优点是检索速度快,缺点是增加了附加的索引表,会占用 ...
分类:
其他好文 时间:
2019-03-07 22:05:37
阅读次数:
214
链式栈:就是一种操作受限的单向链表,对单向链表还不了解的可先看一下之前的一篇关于单向链表的随笔,链表(单向链表的建立、删除、插入、打印),理解了单向链表后再来看链式栈就比较轻松了 链式栈的操作一般含有:出栈、入栈、栈的初始化、判断栈是否为空、清空栈,下面先上声明部分代码 一、节点的声明 链式栈节点的 ...
分类:
编程语言 时间:
2019-03-05 23:10:42
阅读次数:
271
题目描述: 定义栈的数据结构(push/pop),请在该类型中实现一个能够得到栈中所含最小元素的min函数(三者的时间复杂度都应为O(1))。 测试用例: 1)新压入栈的数字比之前的最小值大/小 2)弹出的数字不是最小的元素/是最小的元素 解题思路: 1)借助辅助栈存储最小值,辅助栈顶一定都当前栈的 ...
分类:
其他好文 时间:
2019-03-04 21:00:51
阅读次数:
195
栈的压入、弹出序列 题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。( ...
分类:
其他好文 时间:
2019-03-04 15:42:13
阅读次数:
155
题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 解题思路: 对于push操作,直接输入到栈1中 对于pop操作,若栈2为空,则将栈1元素全部进入栈2,再弹出栈2顶的元素;若栈2非空,直接弹出栈顶元素。 python solution: ...
分类:
其他好文 时间:
2019-03-02 18:50:58
阅读次数:
209
题目描述 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。 解题思路: 根据中序遍历的非递归实现完成。、 对于任一结点P, 1)若其左孩子不为空,则将P入栈并将P的左孩子置为当前的P,然后对当前结点P再进行相同的处理; 2)若其左孩子 ...
分类:
其他好文 时间:
2019-03-02 18:38:42
阅读次数:
173
吐槽 数据太水了吧,我AC自动机的trie建错了结果只是RE了两个点,还以为数组开小了改了好久 思路 看到多模板串,字符串匹配,且模板串总长度不长,就想到AC自动机 然后用栈维护当前的字符串位置,如果匹配到了,就从栈里逐个弹出对应的字符,并且回溯到匹配这个单词之前的节点 s每个字符最多会被出栈和入栈 ...
分类:
其他好文 时间:
2019-03-01 09:33:56
阅读次数:
178
题目: 给出一串表示矩阵相乘的字符串,问这字符串中的矩阵相乘中所有元素相乘的次数。 思路: 遍历字符串遇到字母将其表示的矩阵压入栈中,遇到‘)’就将栈中的两个矩阵弹出来,然后计算这两个矩阵的元素相乘的次数,累加就可以了。 PS:注意弹出的矩阵表示的先后顺序。 代码: ...
分类:
其他好文 时间:
2019-02-28 01:03:29
阅读次数:
135
题目链接 "P3387 【模板】缩点" 解题思路 这几天搞图论,好有趣hhh,多写几篇博客。 上次学$Tarjan$求割点,这次缩点。 思路大概是多一个栈和染色的步骤,每次$Tarjan$的时候把点入栈,如果某个点(比较像割点但不完全是)的$DFS$子树都搜不到它祖宗,那么接下来进行的遍历操作必然与 ...
分类:
其他好文 时间:
2019-02-27 16:15:32
阅读次数:
190