欢迎来到天天文库
浏览记录
ID:40633482
大小:31.50 KB
页数:4页
时间:2019-08-05
《单链表的实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、一、题目内容与要求内容:单链表的实现。要求:了解结点类,并且熟悉单链表中插入与删除等重要模块的程序编写。二、需求分析单链表的插入运算:templateboolSingleList::Insert(inti,Tx){if(i<-1
2、
3、i>n-1){cout<<"OutofBounds"<*q=newNode;q->element=x;//生成新的结点q,并且赋值Node*p=first;//将首地址赋给pin
4、tj=0;while(jlink;j++;}if(i>-1){//如果将元素插在单链表中间q->link=p->link;//将q插在p的后面p->link=q;//q的地址赋给p}else{//新元素插在单链表头结点q->link=first;//first指向的地址赋值给qfirst=q;}n++;returntrue;}单链表的删除运算:templateboolSingleList::Delete(inti){if(!n){cout<<"UnderFlow"<5、l;returnfalse;}//下溢出检查if(i<06、7、i>n-1){cout<<"OutOfBounds"<*p=first,*q=first;//定义结点p与q,分别赋予first的地址intj=0;while(jlink;//q指向删除结点的前一结点if(i==0)first=first->link;//如果要删除的结点是头结点else{//否则删除非头结点p=q->link;q->link=p->link;}deletep;n--;return8、true;}函数实现的功能是:找出两个单链表中交叉的元素。intmain(void){SingleListLA;//生成对象LASingleListLB;//生成对象LBfor(i=0;i<5;i++)//在单链表中插入5个元素LA.Insert(i-1,i);LA.Output(cout);//输出LAfor(i=5;i<10;i++)//从单链表LB中第5号位置开始插入LB.Insert(i-6,i);LB.Insert(-1,0);//在LB中的头部插入0元素LB.Insert(3,2);//在LB中的第三号位置插入2LB9、.Insert(LB.Length()-1,4);LB.Output(cout);cout<10、存的方式之一,可以在任意的元素之间进行插入和删除的运算。
5、l;returnfalse;}//下溢出检查if(i<0
6、
7、i>n-1){cout<<"OutOfBounds"<*p=first,*q=first;//定义结点p与q,分别赋予first的地址intj=0;while(jlink;//q指向删除结点的前一结点if(i==0)first=first->link;//如果要删除的结点是头结点else{//否则删除非头结点p=q->link;q->link=p->link;}deletep;n--;return
8、true;}函数实现的功能是:找出两个单链表中交叉的元素。intmain(void){SingleListLA;//生成对象LASingleListLB;//生成对象LBfor(i=0;i<5;i++)//在单链表中插入5个元素LA.Insert(i-1,i);LA.Output(cout);//输出LAfor(i=5;i<10;i++)//从单链表LB中第5号位置开始插入LB.Insert(i-6,i);LB.Insert(-1,0);//在LB中的头部插入0元素LB.Insert(3,2);//在LB中的第三号位置插入2LB
9、.Insert(LB.Length()-1,4);LB.Output(cout);cout<10、存的方式之一,可以在任意的元素之间进行插入和删除的运算。
10、存的方式之一,可以在任意的元素之间进行插入和删除的运算。
此文档下载收益归作者所有