欢迎来到天天文库
浏览记录
ID:17434274
大小:60.00 KB
页数:8页
时间:2018-08-31
《线性表的插入和删除运算》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、姓名:林涛班级:10信息学号:201010520134实训题一线性表的插入和删除运算一、实验目的:1、掌握线性表顺序存储结构2、能熟练地利用顺序存储结构实现线性表的基本操作3、能熟练地掌握顺序存储结构中算法的实现二、实验内容:1、建立含有若干个元素的顺序表,并将结果在屏幕上输出2、对建立的顺序表实现插入和删除,并将结果在屏幕上输出3、对建立的链式线性表实现插入和删除,并将结果在屏幕上输出三、算法程序:1、顺序存储1)插入运算#include#defineelemtypeintconstintma
2、xsize=1000;classsequenlist{protected:elemtypea[maxsize];intlen;public:voidinput(intn){for(inti=1;i<=len;i++)cin>>a[i];len=n;cout<=maxsize-1)cout<<"overflow"<3、4、(i>len+1))cout<<"positionisnotcorrec5、t!"<=i;j--)a[j+1]=a[j];a[i]=x;len++;}}voidprint(){for(inti=1;i<=len;i++)cout<>n;cout<<"请输入"<6、cin>>x>>j;L.insert(x,j);L.print();}运行结果:2)删除运算-8-#include#defineelemtypeintconstintmaxsize=1000;classsequenlist{protected:elemtypea[maxsize];intlen;public:voidinput(intn){for(inti=1;i<=n;i++)cin>>a[i];len=n;cout<7、8、(i9、>len))cout<<"positionisnotcorrect!"<>n;cout<<"请输入"<10、t(n);cout<<"请输入要删除的元素位置:";-8-cin>>j;L.del(j);L.print();}运行结果:2、链式存储1)头插法删除运算#include#defineelemtypeintclasslink{public:elemtypedata;link*next;};classlinklist{protected:link*head;public:link*hcreat(){link*s,*p;elemtypei;cout<<"输入多个结点数值,为0时算法结束";cin>>i11、;p=newlink;p->next=NULL;while(i){s=newlink;s->data=i;s->next=p->next;p->next=s;-8-cin>>i;}returnp;}voidprint(link*head){link*p;p=head->next;while(p->next!=NULL){cout<data<<"->";p=p->next;}cout<data;cout<12、d;p=head->next;while((p!=NULL)&&(p->data!=x)){q=p;p=p->next;}if(p==NULL)cout<<"要删除的结点不存在!";else{q->next=p->next;delete(p);}}};voidmain(){elemtypex,y;link*p,*q;linklis
3、
4、(i>len+1))cout<<"positionisnotcorrec
5、t!"<=i;j--)a[j+1]=a[j];a[i]=x;len++;}}voidprint(){for(inti=1;i<=len;i++)cout<>n;cout<<"请输入"<6、cin>>x>>j;L.insert(x,j);L.print();}运行结果:2)删除运算-8-#include#defineelemtypeintconstintmaxsize=1000;classsequenlist{protected:elemtypea[maxsize];intlen;public:voidinput(intn){for(inti=1;i<=n;i++)cin>>a[i];len=n;cout<7、8、(i9、>len))cout<<"positionisnotcorrect!"<>n;cout<<"请输入"<10、t(n);cout<<"请输入要删除的元素位置:";-8-cin>>j;L.del(j);L.print();}运行结果:2、链式存储1)头插法删除运算#include#defineelemtypeintclasslink{public:elemtypedata;link*next;};classlinklist{protected:link*head;public:link*hcreat(){link*s,*p;elemtypei;cout<<"输入多个结点数值,为0时算法结束";cin>>i11、;p=newlink;p->next=NULL;while(i){s=newlink;s->data=i;s->next=p->next;p->next=s;-8-cin>>i;}returnp;}voidprint(link*head){link*p;p=head->next;while(p->next!=NULL){cout<data<<"->";p=p->next;}cout<data;cout<12、d;p=head->next;while((p!=NULL)&&(p->data!=x)){q=p;p=p->next;}if(p==NULL)cout<<"要删除的结点不存在!";else{q->next=p->next;delete(p);}}};voidmain(){elemtypex,y;link*p,*q;linklis
6、cin>>x>>j;L.insert(x,j);L.print();}运行结果:2)删除运算-8-#include#defineelemtypeintconstintmaxsize=1000;classsequenlist{protected:elemtypea[maxsize];intlen;public:voidinput(intn){for(inti=1;i<=n;i++)cin>>a[i];len=n;cout<7、8、(i9、>len))cout<<"positionisnotcorrect!"<>n;cout<<"请输入"<10、t(n);cout<<"请输入要删除的元素位置:";-8-cin>>j;L.del(j);L.print();}运行结果:2、链式存储1)头插法删除运算#include#defineelemtypeintclasslink{public:elemtypedata;link*next;};classlinklist{protected:link*head;public:link*hcreat(){link*s,*p;elemtypei;cout<<"输入多个结点数值,为0时算法结束";cin>>i11、;p=newlink;p->next=NULL;while(i){s=newlink;s->data=i;s->next=p->next;p->next=s;-8-cin>>i;}returnp;}voidprint(link*head){link*p;p=head->next;while(p->next!=NULL){cout<data<<"->";p=p->next;}cout<data;cout<12、d;p=head->next;while((p!=NULL)&&(p->data!=x)){q=p;p=p->next;}if(p==NULL)cout<<"要删除的结点不存在!";else{q->next=p->next;delete(p);}}};voidmain(){elemtypex,y;link*p,*q;linklis
7、
8、(i
9、>len))cout<<"positionisnotcorrect!"<>n;cout<<"请输入"<10、t(n);cout<<"请输入要删除的元素位置:";-8-cin>>j;L.del(j);L.print();}运行结果:2、链式存储1)头插法删除运算#include#defineelemtypeintclasslink{public:elemtypedata;link*next;};classlinklist{protected:link*head;public:link*hcreat(){link*s,*p;elemtypei;cout<<"输入多个结点数值,为0时算法结束";cin>>i11、;p=newlink;p->next=NULL;while(i){s=newlink;s->data=i;s->next=p->next;p->next=s;-8-cin>>i;}returnp;}voidprint(link*head){link*p;p=head->next;while(p->next!=NULL){cout<data<<"->";p=p->next;}cout<data;cout<12、d;p=head->next;while((p!=NULL)&&(p->data!=x)){q=p;p=p->next;}if(p==NULL)cout<<"要删除的结点不存在!";else{q->next=p->next;delete(p);}}};voidmain(){elemtypex,y;link*p,*q;linklis
10、t(n);cout<<"请输入要删除的元素位置:";-8-cin>>j;L.del(j);L.print();}运行结果:2、链式存储1)头插法删除运算#include#defineelemtypeintclasslink{public:elemtypedata;link*next;};classlinklist{protected:link*head;public:link*hcreat(){link*s,*p;elemtypei;cout<<"输入多个结点数值,为0时算法结束";cin>>i
11、;p=newlink;p->next=NULL;while(i){s=newlink;s->data=i;s->next=p->next;p->next=s;-8-cin>>i;}returnp;}voidprint(link*head){link*p;p=head->next;while(p->next!=NULL){cout<data<<"->";p=p->next;}cout<data;cout<12、d;p=head->next;while((p!=NULL)&&(p->data!=x)){q=p;p=p->next;}if(p==NULL)cout<<"要删除的结点不存在!";else{q->next=p->next;delete(p);}}};voidmain(){elemtypex,y;link*p,*q;linklis
12、d;p=head->next;while((p!=NULL)&&(p->data!=x)){q=p;p=p->next;}if(p==NULL)cout<<"要删除的结点不存在!";else{q->next=p->next;delete(p);}}};voidmain(){elemtypex,y;link*p,*q;linklis
此文档下载收益归作者所有