C++实现单链表(模版类).doc

C++实现单链表(模版类).doc

ID:48662064

大小:54.00 KB

页数:5页

时间:2020-02-27

C++实现单链表(模版类).doc_第1页
C++实现单链表(模版类).doc_第2页
C++实现单链表(模版类).doc_第3页
C++实现单链表(模版类).doc_第4页
C++实现单链表(模版类).doc_第5页
资源描述:

《C++实现单链表(模版类).doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、.C++模版类实现单链表先上代码/********************************线性表抽象类的定义***************************/templateclasslist{public:virtualvoidempty()=0;//清空线性表virtualintgetLength()=0;//求表的长度virtualvoidinsert(inti,constdataType&x)=0;//在表中第i个位置插入值为x的元素virtualvo

2、idremove(inti)=0;//删除表中第i个位置的元素virtualintsearch(constdataType&x)=0;//查找并返回值为x的元素在表中的位置virtualdataTypevisit(inti)=0;//访问表中第i个元素的值virtualvoidtraverse()=0;//遍历线性表};/*******************************单链表类的定义********************************/#include"list.h"templ

3、ateclasslinkList:publiclist{//公有继承自list类public:linkList();//构造函数,创建对象时生成空链表voidempty();//清空链表intgetLength();//求表的长度voidinsert(inti,constdataType&x);//在表中第i个位置插入值为x的元素voidremove(inti);//删除表中第i个位置的元素intsearch(constdataType&x);//查找并

4、返回值为x的元素在表中的位置dataTypevisit(inti);//访问表中第i个元素的值voidtraverse();//将表中的元素逐一输出~linkList();//析构函数private://定义节点structnode{dataTypedata;node*next;node():next(NULL){};node(dataTyped):data(d),next(NULL){};精选word范本!.};node*head;//链表头node*tail;//链表尾intcurrentLengt

5、h;//链表长度};/*********************************单链表类的实现******************************/#includeusingnamespacestd;templatelinkList::linkList(){head=newnode;tail=newnode;head->next=tail;currentLength=0;cout<<"Createlistsucce

6、ss!";}templatevoidlinkList::empty(){node*nowPos=head->next;while(nowPos!=tail){node*tmp=nowPos;nowPos=nowPos->next;deletetmp;}head->next=tail;currentLength=0;cout<<"Emptylistsuccess!";}templateintlinkList

7、aType>::getLength(){returncurrentLength;}templatevoidlinkList::insert(inti,constdataType&x){精选word范本!.if(i<0

8、

9、i>currentLength){cout<<"Theindexisoutofrange!";return;}node*add=newnode(x);if(i==0){add->next=head->next;head->next

10、=add;}else{//找到第i-1个节点node*nowPos=head->next;while(--i){nowPos=nowPos->next;}add->next=nowPos->next;nowPos->next=add;}++currentLength;cout<<"Insertdatasuccess!";}templatevoidlinkList::remove(in

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。