栈:
栈是特殊的线性表,数据将从一端进入,同一端输出
运算顺序:先进后出,后进先出
栈的基本操作(以顺序栈为例)
队列:
队列与栈不相同的地方在于,数据从一段进入,从另一端输出
运算顺序:先进先出,后进后出
队列的基本操作(以带头节点链式队列为例子)
遇到的困难及总结:
1. c++利用顺序栈解决括号匹配问题 https://www.cnblogs.com/yi2105/p/10604850.html
2. c++利用链式队列(带头节点)解决银行业务队列简单模拟问题 https://www.cnblogs.com/yi2105/p/10618323.html
3. exit()和return的区别:
在main()主函数中,两者没有太大的区别;
但是在调用函数的过程中,exit()将会退出并结束程序,return将会返回上一级。
4. 当对数组(足够大)连续输入数值,由空格间隔,回车结束。
可以利用getchar读取输入的字符,当 getchar() == ‘ '时,结束输入;
值得注意的一点是,常用的对数组进行赋值的结构 for(int i=0; 条件; i++)中条件应在输入第一个字符后判断。
若非如此,getchar()是读缓冲区的第一个字符,一开始没有输入,缓冲区是没有字符的,所以总是会跳过第一个。
当然,可以考虑使用do...while()结构
目标:
1. 多debug少质疑
2. 查阅资料的时候看到一个很酷的问题:
(1)利用两个栈搭建一个队列;
(2)利用两个队列搭建一个栈;
希望自己能够研读研读