线性表的链式存储结构.docx
- 文档编号:23114097
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:10
- 大小:14.80KB
线性表的链式存储结构.docx
《线性表的链式存储结构.docx》由会员分享,可在线阅读,更多相关《线性表的链式存储结构.docx(10页珍藏版)》请在冰豆网上搜索。
线性表的链式存储结构
线性表的链式存储结构
线性表的链式存储结构示意图
存储结构:
#include
usingnamespacestd;
template
structnode{
Tele;
node*next;
};
实现线性表的各个函数:
template
reacl:
:
reacl()
{
L=newnode;
length=0;
L->next=NULL;
}
template
reacl:
:
~reacl()
{
deleteL;
}
template
intreacl:
:
getLength()
{
returnlength;
}
template
Treacl:
:
getEle(intx)
{
node*p=L;
for(inti=0;i
=NULL);i++)
p=p->next;
returnp->ele;
}
template
voidreacl:
:
getList(Tt)
{
node*p=L;
inti=0,temp=0;
while(p->next!
=NULL)
{
if(p->ele==t)
{
temp=1;
cout<<"位置:
"<
break;
}
i++;
p=p->next;
}
if(temp==0)cout<<"没有"< } template voidreacl: : insertl(Tt,intx) { node*datal=newnode; node*p=L; datal->next=NULL; datal->ele=t; for(inti=0;inext! =NULL);i++) p=p->next; datal->next=p->next; p->next=datal; length++; } template voidreacl: : deletel(intx) { node*temp=newnode; node*p=L; for(inti=0;i p=p->next; temp=p->next; p->next=temp->next; length--; } template voidreacl: : displayl() { node*p=L; while(p->next! =NULL) { p=p->next; cout< } } main函数: intmain() { reaclnewl; for(inti=0;i<30;i++) //初始线性表 { newl.insertl(i,i); } cout<<"线性表长: "< newl.displayl(); cout<<"得到值是: "< newl.getList(25); newl.insertl(100,20); //插入 newl.displayl(); cout<<"线性表长: "< newl.deletel(21); //删除 newl.displayl(); cout<<"线性表长: "< system("pause"); return0; } 运行结果: 填写图片摘要(选填) 程序可执行代码: #include usingnamespacestd; template structnode{ Tele; node*next; }; template classreacl{ public: reacl(); //析构函数 ~reacl(); //构造函数 intgetLength(); //得到线性表的表长 TgetEle(int); //得到某个位置的节点值 voidgetList(T); //得到所在的位置 voidinsertl(T,int); //插入 voiddeletel(int); //删除 voiddisplayl(); //打印输出 private: node*L; intlength; }; template reacl: : reacl() { L=newnode; length=0; L->next=NULL; } template reacl: : ~reacl() { deleteL; } template intreacl: : getLength() { returnlength; } template Treacl: : getEle(intx) { node*p=L; for(inti=0;i =NULL);i++) p=p->next; returnp->ele; } template voidreacl: : getList(Tt) { node*p=L; inti=0,temp=0; while(p->next! =NULL) { if(p->ele==t) { temp=1; cout<<"位置: "< break; } i++; p=p->next; } if(temp==0)cout<<"没有"< } template voidreacl: : insertl(Tt,intx) { node*datal=newnode; node*p=L; datal->next=NULL; datal->ele=t; for(inti=0;inext! =NULL);i++) p=p->next; datal->next=p->next; p->next=datal; length++; } template voidreacl: : deletel(intx) { node*temp=newnode; node*p=L; for(inti=0;i p=p->next; temp=p->next; p->next=temp->next; length--; } template voidreacl: : displayl() { node*p=L; while(p->next! =NULL) { p=p->next; cout< } } intmain() { reaclnewl; for(inti=0;i<30;i++) //初始线性表 { newl.insertl(i,i); } cout<<"线性表长: "< newl.displayl(); cout<<"得到值是: "< newl.getList(25); newl.insertl(100,20); //插入 newl.displayl(); cout<<"线性表长: "< newl.deletel(21); //删除 newl.displayl(); cout<<"线性表长: "< system("pause"); return0; } 欢迎访问我的博客:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 线性 链式 存储 结构