欢迎来到天天文库
浏览记录
ID:36313797
大小:25.50 KB
页数:3页
时间:2019-05-09
《数据结构学习(c++)栈和队列(定义和实现)》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、数据结构学习(C++)—栈和队列(定义和实现) happycock(原作) 转自CSDN 栈和队列是操作受限的线性表,好像每本讲数据结构的数都是这么说的。有些书按照这个思路给出了定义和实现;但是很遗憾,这本书没有这样做,所以,原书中的做法是重复建设,这或许可以用不是一个人写的这样的理由来开脱。顺序表示的栈和队列,必须预先分配空间,并且空间大小受限,使用起来限制比较多。而且,由于限定存取位置,顺序表示的随机存取的优点就没有了,所以,链式结构应该是首选。栈的定义和实现#ifndefStack_H#
2、defineStack_H#include"List.h"templateclassStack:List//栈类定义{public:voidPush(Typevalue){Insert(value);} TypePop(){Typep=*GetNext();RemoveAfter();returnp;}TypeGetTop(){return*GetNext();}List::MakeEmpty;List::IsEmpty;};#endif队列的定义
3、和实现#ifndefQueue_H#defineQueue_H#include"List.h"templateclassQueue:List//队列定义{public:voidEnQueue(constType&value){LastInsert(value);}TypeDeQueue(){Typep=*GetNext();RemoveAfter();IsEmpty();returnp;} TypeGetFront(){return*GetNext();}List4、e>::MakeEmpty;List::IsEmpty;}; #endif测试程序#ifndefStackTest_H#defineStackTest_H #include"Stack.h" voidStackTest_int(){cout<a;cout<<"将1~20入栈,然后再出栈"<5、IsEmpty())cout<a;cout<<"将1~20入队,然后再出队"<6、e(!a.IsEmpty())cout<
4、e>::MakeEmpty;List::IsEmpty;}; #endif测试程序#ifndefStackTest_H#defineStackTest_H #include"Stack.h" voidStackTest_int(){cout<a;cout<<"将1~20入栈,然后再出栈"<5、IsEmpty())cout<a;cout<<"将1~20入队,然后再出队"<6、e(!a.IsEmpty())cout<
5、IsEmpty())cout<a;cout<<"将1~20入队,然后再出队"<6、e(!a.IsEmpty())cout<
6、e(!a.IsEmpty())cout<
此文档下载收益归作者所有