代码改变世界

链表结构之ADT(栈与队列模拟)

2009-09-03 00:13  BlueDream  阅读(919)  评论(0编辑  收藏  举报
ADT(抽象数据类型):泛泛的说,就是将类(数据类型)进行高度抽象.着重于他做了什么而忽略了他是怎么做的.
即下面两类用链表分别模拟栈(Stack)和队列(Queue).
栈: FILO先进后出.拥有push(入栈)和pop(出栈)
队列: FIFO先进先出.拥有insert(入列)和remove(出列).
ADT即是将链表方法进行封装.让使用者只关心本身方法使用,而不关心具体的实现方式.
模拟的代码分别如下:
(一)栈模拟
LinkStack
执行结果:先进后出
Stack (top ---> bottom){40.0}{20.0}
Stack (top ---> bottom){
80.0}{60.0}{40.0}{20.0}
Stack (top ---> bottom){
40.0}{20.0}
(二)模拟队列
LinkQueue
执行结果:先进先出
Queue (front ---> rear){20.0}{40.0}
Queue (front ---> rear){
20.0}{40.0}{60.0}{80.0}
Queue (front ---> rear){
60.0}{80.0}