欢迎来到天天文库
浏览记录
ID:55586973
大小:84.00 KB
页数:8页
时间:2020-05-19
《数据结构顺序存储结构 C++实现.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、数据结构实验报告实验目的1.熟练掌握线性表的顺序存储结构、链式存储结构,并分别实现线性表的基本操作。2.熟练掌握顺序存储结构中算法的实现。3.培养编程和上机调试能力。实验内容1.建立含有若干元素的顺序表,并实现插入、删除、修改、查找等基本操作。并在屏幕上输出。2.建立含有若干元素的链式表,并实现插入、删除、修改、查找等基本操作。并在屏幕上输出。实验步骤打开VC6.0,新建文件。编写代码,运行、调试、输出结果。实验代码顺序表#include#defineelemtypeintconstintmaxsize=1000;classseq
2、uenlist{protected:elemtypea[maxsize];intlen;public:voidsetnull(){len=0;}voidinput(intn){for(intj=1;j<=n;j++)cin>>a[j];len=n;}voidprint()8{for(inti=1;i<=len;i++)cout<=maxsize-1)cout<
3、<"overflow"<4、5、(i>len+1))cout<<"positionisnotcorrect!"<=i;j--)a[j+1]=a[j];a[i]=x;len++;}}voiddeletel(inti){intj;if((i<1)6、7、(i>len))cout<<"positionisnotcorrect!"<8、while((j<=len)&&(a[j]!=x))j++;if(j<=len)returnj;elsereturn0;8}voidchange(elemtypex,elemtypey){intj;for(j=1;j<=len;j++)if(a[j]==x)a[j]=y;}};voidmain(){sequenlistL;elemtypex,y;intn,j;L.setnull();cout<<"请输入表中元素个数:";cin>>n;cout<<"请输入"<9、th;cout<<"请输入要插入的元素及位置:";cin>>x>>j;L.insert(x,j);L.print();cout<<"请输入要删除的元素位置:";cin>>j;L.deletel(j);L.print();L.length;cout<<"请输入要查找的元素:";cin>>x;j=L.locate(x);if(j!=0)cout<>x;cout<<"请输入要更新后的元素值:";cin10、>>y;8L.change(x,y);L.print();}链式表:#include#defineelemtypeintclasslink{public:elemtypedata;link*next;};classlinklist{protected:link*head;public:link*hcreat(){link*s,*p;elemtypei;cout<<"输入多个结点数值(用空格分隔),为0时算法结束";cin>>i;p=newlink;p->next=NULL;while(i){s=newlink;s->data=i;11、s->next=p->next;p->next=s;cin>>i;}returnp;}voidprint(link*head){link*p;p=head->next;while(p->next!=NULL){cout<data<<"->";p=p->next;}8cout<data;cout<next;while((p!=NULL)&&(p->data!=x))p=p->next;returnp;}voiddeletel(lin12、k*head,elemtypex){link*p,*q;q=head;p=hea
4、
5、(i>len+1))cout<<"positionisnotcorrect!"<=i;j--)a[j+1]=a[j];a[i]=x;len++;}}voiddeletel(inti){intj;if((i<1)
6、
7、(i>len))cout<<"positionisnotcorrect!"<8、while((j<=len)&&(a[j]!=x))j++;if(j<=len)returnj;elsereturn0;8}voidchange(elemtypex,elemtypey){intj;for(j=1;j<=len;j++)if(a[j]==x)a[j]=y;}};voidmain(){sequenlistL;elemtypex,y;intn,j;L.setnull();cout<<"请输入表中元素个数:";cin>>n;cout<<"请输入"<9、th;cout<<"请输入要插入的元素及位置:";cin>>x>>j;L.insert(x,j);L.print();cout<<"请输入要删除的元素位置:";cin>>j;L.deletel(j);L.print();L.length;cout<<"请输入要查找的元素:";cin>>x;j=L.locate(x);if(j!=0)cout<>x;cout<<"请输入要更新后的元素值:";cin10、>>y;8L.change(x,y);L.print();}链式表:#include#defineelemtypeintclasslink{public:elemtypedata;link*next;};classlinklist{protected:link*head;public:link*hcreat(){link*s,*p;elemtypei;cout<<"输入多个结点数值(用空格分隔),为0时算法结束";cin>>i;p=newlink;p->next=NULL;while(i){s=newlink;s->data=i;11、s->next=p->next;p->next=s;cin>>i;}returnp;}voidprint(link*head){link*p;p=head->next;while(p->next!=NULL){cout<data<<"->";p=p->next;}8cout<data;cout<next;while((p!=NULL)&&(p->data!=x))p=p->next;returnp;}voiddeletel(lin12、k*head,elemtypex){link*p,*q;q=head;p=hea
8、while((j<=len)&&(a[j]!=x))j++;if(j<=len)returnj;elsereturn0;8}voidchange(elemtypex,elemtypey){intj;for(j=1;j<=len;j++)if(a[j]==x)a[j]=y;}};voidmain(){sequenlistL;elemtypex,y;intn,j;L.setnull();cout<<"请输入表中元素个数:";cin>>n;cout<<"请输入"<9、th;cout<<"请输入要插入的元素及位置:";cin>>x>>j;L.insert(x,j);L.print();cout<<"请输入要删除的元素位置:";cin>>j;L.deletel(j);L.print();L.length;cout<<"请输入要查找的元素:";cin>>x;j=L.locate(x);if(j!=0)cout<>x;cout<<"请输入要更新后的元素值:";cin10、>>y;8L.change(x,y);L.print();}链式表:#include#defineelemtypeintclasslink{public:elemtypedata;link*next;};classlinklist{protected:link*head;public:link*hcreat(){link*s,*p;elemtypei;cout<<"输入多个结点数值(用空格分隔),为0时算法结束";cin>>i;p=newlink;p->next=NULL;while(i){s=newlink;s->data=i;11、s->next=p->next;p->next=s;cin>>i;}returnp;}voidprint(link*head){link*p;p=head->next;while(p->next!=NULL){cout<data<<"->";p=p->next;}8cout<data;cout<next;while((p!=NULL)&&(p->data!=x))p=p->next;returnp;}voiddeletel(lin12、k*head,elemtypex){link*p,*q;q=head;p=hea
9、th;cout<<"请输入要插入的元素及位置:";cin>>x>>j;L.insert(x,j);L.print();cout<<"请输入要删除的元素位置:";cin>>j;L.deletel(j);L.print();L.length;cout<<"请输入要查找的元素:";cin>>x;j=L.locate(x);if(j!=0)cout<>x;cout<<"请输入要更新后的元素值:";cin
10、>>y;8L.change(x,y);L.print();}链式表:#include#defineelemtypeintclasslink{public:elemtypedata;link*next;};classlinklist{protected:link*head;public:link*hcreat(){link*s,*p;elemtypei;cout<<"输入多个结点数值(用空格分隔),为0时算法结束";cin>>i;p=newlink;p->next=NULL;while(i){s=newlink;s->data=i;
11、s->next=p->next;p->next=s;cin>>i;}returnp;}voidprint(link*head){link*p;p=head->next;while(p->next!=NULL){cout<data<<"->";p=p->next;}8cout<data;cout<next;while((p!=NULL)&&(p->data!=x))p=p->next;returnp;}voiddeletel(lin
12、k*head,elemtypex){link*p,*q;q=head;p=hea
此文档下载收益归作者所有