栈与队列总结-错别字

This commit is contained in:
caveman
2023-10-19 14:39:30 +08:00
committed by GitHub
parent 24201c2011
commit a14785b0f4

View File

@ -25,8 +25,8 @@
这个问题有两个陷阱: 这个问题有两个陷阱:
* 陷阱1栈是容器适配器底层容器使用不同的容器导致栈内数据在内存中不是连续分布。 * 陷阱1栈是容器适配器底层容器使用不同的容器导致栈内数据在内存中不一定是连续分布
* 陷阱2缺省情况下默认底层容器是deque那么deque在内存中的数据分布是什么样的呢? 答案是不连续的下文也会提到deque。 * 陷阱2缺省情况下默认底层容器是deque那么deque在内存中的数据分布是什么样的呢 答案是不连续的下文也会提到deque。
所以这就是考察候选者基础知识扎不扎实的好问题。 所以这就是考察候选者基础知识扎不扎实的好问题。
@ -42,7 +42,7 @@
### 栈在系统中的应用 ### 栈在系统中的应用
如果还记得编译原理的话,编译器在 词法分析的过程中处理括号、花括号等这个符号的逻辑,就是使用了栈这种数据结构。 如果还记得编译原理的话,编译器在词法分析的过程中处理括号、花括号等这个符号的逻辑,就是使用了栈这种数据结构。
再举个例子linux系统中cd这个进入目录的命令我们应该再熟悉不过了。 再举个例子linux系统中cd这个进入目录的命令我们应该再熟悉不过了。
@ -70,8 +70,8 @@ cd a/b/c/../../
先来分析一下 这里有三种不匹配的情况, 先来分析一下 这里有三种不匹配的情况,
1. 第一种情况,字符串里左方向的括号多余了 ,所以不匹配。 1. 第一种情况,字符串里左方向的括号多余了,所以不匹配。
2. 第二种情况,括号没有多余,但是 括号的类型没有匹配上。 2. 第二种情况,括号没有多余,但是括号的类型没有匹配上。
3. 第三种情况,字符串里右方向的括号多余了,所以不匹配。 3. 第三种情况,字符串里右方向的括号多余了,所以不匹配。
这里还有一些技巧,在匹配左括号的时候,右括号先入栈,就只需要比较当前元素和栈顶相不相等就可以了,比左括号先入栈代码实现要简单的多了! 这里还有一些技巧,在匹配左括号的时候,右括号先入栈,就只需要比较当前元素和栈顶相不相等就可以了,比左括号先入栈代码实现要简单的多了!