栈是一种容器,可以存入数据、访问元素、删除元素。
特点:数据先进后出。相当于一个乒乓球筒,先放进去的乒乓球只能最后拿出来,而最后放进去的,在最上面,会最先被拿出来。
用list可以实现栈的功能。
过程中需注意:
1.初始化时设置为私有容器
2.虽然list的pop会有返回值,但用在栈的构造中,还是需要再返回一次才能打印。
3.查看元素不要忘记列表为空的情况
队列:和栈类似,区别就是,队列只能一段进,另一端出。
过程中需注意:
1.由于添加和弹出不管是队头进队尾出,还是队尾进队头出,总有一个时间复杂度是O(n),因此需要根据实际需求,哪个用的多就让哪个设为时间复杂度O(1)的方法
双端队列:和队列类似,只是两端都可以进可以出。
构造以上结构的时候,均使用list,以及其中的方法:pop,insert,append,length,具体代码较简单,已完成,不再在这里体现。