欢迎来到天天文库
浏览记录
ID:58494776
大小:117.62 KB
页数:10页
时间:2020-10-21
《线性表的建立与遍历.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、..目录一、实验题目2二、实验流程图2三、实验程序清单5四、实验验证数据9五、实验体会10;...实验一线性表的建立与遍历一、实验题目1、给定一个输入序列,建立顺序表,访问输出顺序表中各结点的内容。2、给定一个输入序列,建立线性链表,访问输出线性链表中各结点的内容。二、实验流程图1、顺序表的建立流程图开始开始i=0,请输入表长Li=0,请输入表长aNi<=L?Ni<=a?YY顺序表输出输入元素i++i++输入结束结束图1.1输入流程图图1.2输出流程图;.2、①链表头插法的建立及链表的输出开始链表link*ss!=$YN链表输出s->datas=s->next结束图1.3链表输出..开始
2、建Head指针head=Null,ch=getchar()Ch!=$YS=(JD*)malloc(sizeof(JD)),s->data=c;,S->next=head;NHead=s:ch=getchar()结束图1.4头插法建立链表;...②尾插法建立开始建立Head指针,head=malloc(sizeof(JD))R=head,ch=getchar()YCh!=$NS=(JD*)malloc(sizeof(JD)),s->data=ch;,r->next=Nullr->next=s;r=s:ch=getchar()结束图1.5尾插法建立;...三、实验程序清单1、/*顺序表的建立及遍
3、历*/#includetypedefstruct{intdata[100];intlength;}Seqlist;voidcreat(Seqlist&L);voidshow(SeqlistL);intmain(){SeqlistL;L.length=0;creat(L);show(L);return0;}voidcreat(Seqlist&L){inta;printf("请输入要创建的元素的个数:t");scanf("%d",&a);for(inti=0;i4、.length++;}}voidshow(SeqlistL){inti;printf("线性表中的元素为:");for(i=0;i#includetypedefstructnode{chardata;structnode*next;}JD;JD*CreateList_Front();intmain(){JD*head,*p;head=CreateList_Front();p=head;whil5、e(p!=NULL){printf("%c",p->data);p=p->next;}printf("");}JD*CreateList_Front(){JD*head,*p;charch;head=NULL;printf("依次输入字符数据(‘#’表示输入结束):");ch=getchar();while(ch!='#'){p=(JD*)malloc(sizeof(JD));p->data=ch;p->next=head;head=p;ch=getchar();}returnhead;};...②/*链表尾插法建立及遍历*/#include#include6、lib.h>typedefstructlink{chardata;structlink*next;}linklist;linklist*CreateList_End();//尾插法创建单链表voidShowLinklist(linklist*h);//输出显示链表intmain(void){intchoice;linklist*head;//head=(linklist*)malloc(sizeof(linklist));while(1){printf("单链表的创建");printf("1.使用带头结点的尾插法创建单链表");printf("");printf("2.链表输出显示");7、printf("");printf("3.退出");printf("做出选择:");scanf("%d",&choice);switch(choice){//尾插法case1:head=CreateList_End();break;//输出链表case2:ShowLinklist(head);break;//退出程序case3:return0;;...break;default:break;}}ret
4、.length++;}}voidshow(SeqlistL){inti;printf("线性表中的元素为:");for(i=0;i#includetypedefstructnode{chardata;structnode*next;}JD;JD*CreateList_Front();intmain(){JD*head,*p;head=CreateList_Front();p=head;whil
5、e(p!=NULL){printf("%c",p->data);p=p->next;}printf("");}JD*CreateList_Front(){JD*head,*p;charch;head=NULL;printf("依次输入字符数据(‘#’表示输入结束):");ch=getchar();while(ch!='#'){p=(JD*)malloc(sizeof(JD));p->data=ch;p->next=head;head=p;ch=getchar();}returnhead;};...②/*链表尾插法建立及遍历*/#include#include6、lib.h>typedefstructlink{chardata;structlink*next;}linklist;linklist*CreateList_End();//尾插法创建单链表voidShowLinklist(linklist*h);//输出显示链表intmain(void){intchoice;linklist*head;//head=(linklist*)malloc(sizeof(linklist));while(1){printf("单链表的创建");printf("1.使用带头结点的尾插法创建单链表");printf("");printf("2.链表输出显示");7、printf("");printf("3.退出");printf("做出选择:");scanf("%d",&choice);switch(choice){//尾插法case1:head=CreateList_End();break;//输出链表case2:ShowLinklist(head);break;//退出程序case3:return0;;...break;default:break;}}ret
6、lib.h>typedefstructlink{chardata;structlink*next;}linklist;linklist*CreateList_End();//尾插法创建单链表voidShowLinklist(linklist*h);//输出显示链表intmain(void){intchoice;linklist*head;//head=(linklist*)malloc(sizeof(linklist));while(1){printf("单链表的创建");printf("1.使用带头结点的尾插法创建单链表");printf("");printf("2.链表输出显示");
7、printf("");printf("3.退出");printf("做出选择:");scanf("%d",&choice);switch(choice){//尾插法case1:head=CreateList_End();break;//输出链表case2:ShowLinklist(head);break;//退出程序case3:return0;;...break;default:break;}}ret
此文档下载收益归作者所有