C数据结构_链表

C数据结构_链表

ID:43324161

大小:196.25 KB

页数:13页

时间:2019-09-30

C数据结构_链表_第1页
C数据结构_链表_第2页
C数据结构_链表_第3页
C数据结构_链表_第4页
C数据结构_链表_第5页
资源描述:

《C数据结构_链表》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、structNode*phead;//头指针struetNode*ptail;//尾指针structNode*p;//插入删除位置指针intIon;//记录链表长度};Type>tcmplato::singlelist()//初始化链表phead=newstructNode;if(phead)〃初始化链表//如果内存分配成功就初始数据成员phead->pt=NULL;ptai]=phead;p二NULL;lon=0;//初始化尾结点〃初始插入删除位置指针〃初始

2、长度else//内存分配失败,输岀提示cout<boolsinglelist::Insert.tail(Typom)//向尾部增加数据m{structNode*p二newstructNode;//分配结点if(!p)〃分配失败就返回假retunifalse;p->data=m;p->pt二NULL;pta订-〉pt二p;ptai

3、l=p;lon++;returntrue;//分配成功就将数据m保存至结点〃将结点指向为空//将结点挂到尾结点上//将尾指针重新指向尾结点〃增加表长度//增加结点完成就返回真templateboolsinglelist::Position(intn)//返回n指定的位置{intk=l;p=phead;//每次将p重新指向头指针while(p->pt!=NULL&&kpt==NULL

4、k>n

5、

6、n

7、用户指定位置超出范围就返回假mturnfalse;elsereturntrue;}templatoboolsinglelist::Insert_app(intn,Typem)//在指定位置n插入数据mif(!Position(n))returnfalse;//判断位置指针是否合法,不合法就返回假structNode*pl=newstructNode;//如果指定范围合法就增加结点if(!pl)returnfalse;//如果结点内存分配失败就返冋假pl->da二m;

8、pl_>pt二p_>pt;p->pt=pl;lon++;returntrue;〃将数据保存至结点//将结点插入表中//增加表长templateboo1singlelist::Insert_all(Typen,Typem)//在指定数据n的位置插入数据m,对所有n数据位置插入intMark=0;p=phead;while(p->pt!=NULL)//定义一个标志//将P指针重新指向头指针structNode*Before二p;//定义一个前向指针,用于指向p的前一个位

9、置P二p_〉pt;if(p->data==n){//查找数据structNode*pl二newstructNode;if(!pl)returnfalse;pl->dapl->pt=Before->pt;Before~>pt=pl;Mark卄;lon++;//查找成功就分配结点〃将结点挂到数据n的位置//进位标志,表示有过数据插入//增加元素个数}if(Mark>0)//判断标志是否有增加,如果有表示有数据插入成功。returntrue;elsereturnfalse;{if(phead->pt==N

10、ULL)//判断链表是否为空cout«/z链表为空,没有数据输出!!/z«endl;else{〃不为空就输出数据p=phead;while(p->pt!=NULL){p二p-〉pt;cout«p->data«〃“;}cout«endl;}}templateintsinglolist::output_long()//返回表中元素个数,不包含头结点{returnIon;}templatcboolsinglelist::Delete_ap

11、p(intn,Type&m)//删除n指定位置的元素,并赋给mif([Position(n))returnfalse;if(p->pt二二pteiil)ptail^p;//通过position函数来查找位置,如果位置合法就会返回真〃如果位置不合法就直接返回假//判断要删除的位置是不是尾指针位置//如果是就重新修改指针位置struetNode*After二p->pt;m=After->data;p->pt二After->pt;deleteAfter;Ion--;retu

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

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

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