作者chchwy (mat)
看板NTUE-CS100
标题[课业] 程设作业
时间Tue Mar 25 00:12:57 2008
这次似乎要写Stack,也就是堆叠。
先简单说明一下stack这个东西
借用上学期计概课的名词解释XD
: ‧┌ stack 堆叠
FILO,先进後出
ex.品客洋芋片。
在食品工厂里,
第一片放进罐头的洋芋片(最底下那块),消费者最後才会吃
最後才放进罐头的(最上面那块),消费者会最先吃
所以品客是个Stack
stack是一个概念,可以想像成一个管状的容器( 例如上面品客罐子)
这个容器呢,只有一端有开口,另一端是封起来的 (不然洋芋片就会从下面掉出去了)
所以我们只能从同一端丢洋芋片进去,或者拿出来吃掉。如此一来,这个容器
理所当然就具备FILO的特性啦。
ok,有了概念之後,现在我们要处理的东西不是洋芋片,而是记忆体上的资料。
(废话...洋芋片不能跑程式呀) 所以这个容器就不是罐子,是一段记忆体。
我们可以丢资料进这段记忆体,或者从记忆体里拿出资料来,而且要具备FILO的特型
ex.依序丢进ABCDE五笔资料,那拿出来时候顺序必须是EDCBA。
那我们差不多可以开始动手了
开始写程式之前,我们先把stack的规格定义清楚
(比较好下手,and要符合王老大的要求)
==================================================
1. 这个stack是一个class
2. stack处理的资料是int (不是品客洋芋片)
3. 这个stack可以由使用者决定大小
4. stack有两个动作,一个是推入 (push): 把int塞进stack
一个是弹出 (pop): 由stack取出int
5. 如果stack是满的或空的,跳出错误讯息。
==================================================
(其实,课本8-38页其实就有code了XD,有兴趣的可以看看)
--
「人生有很多个十年,但如果刚好是十八岁到二十八岁,那就是一辈子了。」
「我们常常高估十年後能做的事,却忽略一年内能做的事」
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 203.68.15.109
※ 编辑: chchwy 来自: 203.68.15.230 (03/25 21:53)