标签:外部 顺序 循环 消息队列 重复 结束 打印 两个栈 利用
栈:栈是一种仅支持在表位插入删除的线性表。栈底称为表头,栈顶称为表尾。
栈的存储结构:
顺序存储:
顺序栈:用一组地址连续的内存单元依次存放从栈底到栈顶元素的结构。
栈的入栈操作是:栈顶指针+1,元素入栈。
栈的出栈操作是:元素出栈,栈顶指针-1。
共享栈:两个栈共享栈顶空间,两个栈底设置为两端。
共享栈是为了更有效的利用存储空间,两个栈的空间相互协调,当两个栈顶指针相邻=1时候栈满。
链式存储:
链栈:便于多个栈共享存储空间,且不存在栈满上溢的情况,通常使用单链表实现。
链栈规定没有头节点,指针指向栈顶元素。
采用链栈便于节点的插入删除。
栈的应用:
数制转换:
N=(N/d)d+N%d*
由于输出的顺序是由个位到十位往上的,所以我们可以用栈来依次存储输出的结果,最后依次出栈次序就对了。
括号匹配:
每读入一个右括号就查看栈顶,如果有左括号就将其出栈,不然就是非法情况,如果读入左括号,就将其入栈。起始结束条件都是栈为空。
行编辑问题:
表达式求值问题:
迷宫求解问题:
递归问题:
队列:允许插入一端叫做队尾,允许删除一端叫做队头,是从队尾入队,队头出队的结构。
队列的存储结构:
队列的应用:
层次遍历:
根节点入队
若队空则结束遍历,反之重复3
队列第一个节点出队,访问。如果有左孩子就入队,如果有右孩子就入队,返回2
计算机系统中的应用:
标签:外部 顺序 循环 消息队列 重复 结束 打印 两个栈 利用
原文地址:https://www.cnblogs.com/k-will/p/12723264.html