目录
一.自我介绍
大家好,我是大鹏,我们这门课所讲的数据结构倾向于实战,大家不要拘泥于具体的写法,而重在学习原理,和使用方式,我们所需要的是简洁、实用和快速。本次实验主要目标是学会栈的原理与实现,学会灵活地运用,能够不依赖于模板根据题目独立写出各类栈。
二.什么是栈
我们之前学过了队列这一种对于存取方式的限制的组织方式,我们今天要讲另一种,同样栈既可以采用链表来表示,也可以采用数组(顺序表)来表示,我们限制的是对于存放数据的存取方式。
如果觉得看不懂定义,我们来用图来介绍一下栈,什么是栈,栈如其名,就是按照栈的方式来存取,什么是栈呢,我们举一张糖葫芦的图作为例子。
很显然我们对数据的组织也是以这种方式进行的。当然数据存储方式还是有两种,一种是顺序存储,一种是链式存储。而我们常用的存储方式还是顺序表因为方便简单
三.栈在内存中的存储结构
当然,栈也具有链式存储结构,但是实现相对复杂,因为我们是在比赛中使用,所以我们还是采取顺序存储的方式表较方便,比较节省时间。
四.栈的实战
1.小邋遢的衣橱
小邋遢 MS.Jinlin 是个爱打扮的公主,他有很多晚礼服如"LALA" "NIHAOMA"、"WOBUHAO"、"NIHAOBUHAO"等众多衣服,可是由于衣服太多他要把它们装进箱子,但是作为公主,肯定是会突发奇想觉得哪件衣服好看,就把他拿了出来,当然那件衣服上面的衣服也被拿出来了,而且会弄乱了,小邋遢在经过几次的叠衣服和取衣服后,他想知道箱子里最上面的衣服是哪一件,如果箱子为空的话,就告诉她 Empty ,如果有多件一样的衣服,肯定是取走最上面的那一件啦。
第 1 行,输入N