实验八---泛型程序设计.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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

文档评论(0)

知识的力量 + 关注
实名认证
文档贡献者

每天进步一点点,生活向上没一天

1亿VIP精品文档

相关文档