【java基础】栈和队列
栈和队列 栈:先进后出 (水瓶模型)缺点(维护不了顺序) 队列:一端进 一端出 先进先出 缺点(数据移动)
两个栈模拟一个队列?
两个队列模拟一个栈? 两边来回倒 剩余一个元素出队
入栈序列 判断哪个不是该序列的出栈序列 1 2 3 4 5 A:3 1 2 4 5 错 B:1 2 3 4 5 对 (入一个出一个) C:3 2 1 5 4 对 (先入前三个再入后两个) D:5 3 4 2 1 对
代码? int[] ar={1,2,3,4,5} int[] br={3,2,1,5,4} int i=0 j=0 将ar中的数据入栈,直到等于br[j]停止,判断栈顶元素和j++的元素是否相等,如果相等出栈并j++,如果栈为空或不相等继续入栈 如果i走完了并且栈为空j也走完 则说明是出栈序列。
笔试:循环队列 数组模拟环 对队列的优化——》循环队列 队尾入,队头出 当head==tail 则为空 当tail+1=head 则填充满 需要扩容 浪费掉head前面的一个格子 tail走完每次++;
下一篇:
C进阶:结构体的内存对齐