线性表的链式存储结构.docx

上传人:b****2 文档编号:23114097 上传时间:2023-04-30 格式:DOCX 页数:10 大小:14.80KB
下载 相关 举报
线性表的链式存储结构.docx_第1页
第1页 / 共10页
线性表的链式存储结构.docx_第2页
第2页 / 共10页
线性表的链式存储结构.docx_第3页
第3页 / 共10页
线性表的链式存储结构.docx_第4页
第4页 / 共10页
线性表的链式存储结构.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

线性表的链式存储结构.docx

《线性表的链式存储结构.docx》由会员分享,可在线阅读,更多相关《线性表的链式存储结构.docx(10页珍藏版)》请在冰豆网上搜索。

线性表的链式存储结构.docx

线性表的链式存储结构

线性表的链式存储结构

线性表的链式存储结构示意图

​存储结构:

​#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;inext!

=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<ele<<"";

}

}

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;inext!

=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<ele<<"";

}

}

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;

}

欢迎访问我的博客:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 辩护词

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1