某序列不可能是出栈顺序
- 动手模拟便知
二维数组的某元素的地址
- 确定是行优先还是列优先;
- 确定二维数组列与行下标范围;
- 从第一个位置开始,给每个元素序号,序号从0开始,发现规律;
- 基地址 + 序号 * 每个元素长度。
三角矩阵压缩为一维矩阵
- 确定是行优先还是列优先;
- 确定二维数组列与行下标范围;
- 确定上三角还是下三角;
- 从第一个位置开始,给每个元素序号,发现规律。
三对角矩阵压缩为一维数组
- 确定是行优先还是列优先;
- 确定二维数组列与行下标范围;
- 在第一行的第一个数的左边多画一个元素,让图看起来更规律;
- 从额外加的元素开始标序号,发现规律。
算术中缀表达式通过压栈变中缀表达式
操作符 | # | ( | *, / | +, - | ) |
---|---|---|---|---|---|
操作符 | # | ( | *, / | +, - | ) |
栈内优先 | 0 | 1 | 5 | 3 | 6 |
栈外优先 | 0 | 6 | 4 | 2 | 1 |
- #入栈(#不算栈最大个数)
- 内 > 外:出栈
外 < 内:进栈
内 == 外:出栈,跳过