- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
实验八泛型程序设计
软件1502杨成进151303230
一、实验目得
1.了解链表类得定义与实现,学习其使用方法。
2。了解栈类得定义与实现,学习其使用方法。
3.了解队列类得定义与实现,学习其使用方法。
4.了解C++标准模板库STL得使用方法。
二、实验任务
1。编写程序link.h,实现教材中例9—6得链表类。在测试程序lab9—1.cpp中定义两个整型链表A与B,分别插入5个元素,然后把B中得元素加入A得尾部。
2。编写程序queue。h,用链表实现队列(或栈)类。在测试程序lab9—2。cpp中定义一个整型队列(或栈)对象,插入5个整数,压人队列(或栈),再依次取出并显示出来。
3.使用C++标准模板库(STL)中得双向队列类(deque)重新实现上一小题。
三、实验步骤
1.参照教材《C++语言程序设计》中链表类LinkeclI。ist得定义(教材中得例程9—6.h),给出其实现,注意合理使用NodIe类(教材中得例程9—3.h)得成员函数。在测试程序中定义整型链表A与B,分别插入5个元素,使用循环语句显示链表中得元素,然后把B中得元素加入A得尾部,再显示出来。
2。队列类得特点就就是其元素得操作顺序为先入先出(FIFO),用上题中得链表类实现队列类,用链表类得成员函数实现队列得成员函数,在测试程序中定义一个整型队列对象,观察队列类中得元素先入先出得特点。
3.在程序中包含语句#includedeque>,使用deque类得方法push_back()、empty()、pop_front()完成上一小题得要求。程序名:lab9_3、cpp.、
四、实验程序
1、
#include"link、h
intmain()
{
?LinkedList〈intA,B;
?for(inti=0;i5;i++)
{
?A、InsertRear(2*i+1);
? B、InsertRear(2*i+2);
?}
?A、Reset();
cout〈”链表A得元素为:”;
while(!A、EndOfList())
?{
?coutA、Data()<”;
?A、Next();
}
cout〈endl;
B、Reset();
?cout<<链表B得元素为:";
?while(!B、EndOfList())
{
??cout<<B、Data()〈<"”;
?B、Next();
?}
?cout〈〈endl;
cout〈”把B中得元素插入A中、、、"<〈endl;
?B、Reset();
?while(!B、EndOfList())
{
A、InsertRear(B、Data());
??B、Next();
}
?A、Reset();
?cout〈〈”此时,链表A得元素为:”;
while(!A、EndOfList())
?{
??cout<〈A、Data()<”";
A、Next();
}
cout〈〈endl;
}
#ifndefLINKEDLIST_CLASS
#defineLINKEDLIST_CLASS
#include〈iostream
#include<cstdlib〉
usingnamespacestd;
#ifndefNULL
constintNULL=0;
#endif//NULL
#include9-3、h
templateclassT>
classLinkedList
{
private:
NodeT*front,*rear;
Node<T>*prevPtr,*currPtr;
intsize;
intposition;
NodeT*GetNode(constT&item,NodeT*ptrNext=NULL);
voidFreeNode(Node<T〉*p);
voidCopyList(constLinkedList〈T〉&L);
public:
LinkedList(void);
LinkedList(constLinkedListT〉&L);
~LinkedList(void);
LinkedList<T〉operator=(constLinkedList〈TL);
intListSize(void)const;
intListEmpty(void)const;
voidReset(intpos
您可能关注的文档
最近下载
- 预埋管检验批整套.xlsx VIP
- 道路交通法规公路法.ppt VIP
- 小儿肠系膜淋巴结炎指南.ppt VIP
- 2025年海事两员从业资格考试(危险货物集装箱装箱现场检查员)历年题及答案.docx VIP
- 超星尔雅学习通《中国陶瓷鉴赏与器物陈设》章节测试答案.docx VIP
- 学校试卷印刷协议合同.docx VIP
- 易感基因介绍_培训课件.pptx VIP
- 在线网课学习课堂《成语与中国文化(复旦大学 )》单元测试考核答案.docx VIP
- 葡萄酒品鉴与侍酒服务:侍酒服务PPT教学课件.pptx VIP
- 2013-2022年安防设备行业比率、现金流、发展、盈利、经营、偿债能力均值.doc VIP
原创力文档


文档评论(0)