欢迎来到天天文库
浏览记录
ID:47512287
大小:589.50 KB
页数:15页
时间:2020-01-12
《线性表的建立与遍历》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、.目录一、实验题目2二、实验流程图2三、实验程序清单5四、实验验证数据9五、实验体会10word资料.实验一线性表的建立与遍历一、实验题目1、给定一个输入序列,建立顺序表,访问输出顺序表中各结点的内容。2、给定一个输入序列,建立线性链表,访问输出线性链表中各结点的内容。二、实验流程图1、顺序表的建立流程图图1.1输入流程图图1.2输出流程图word资料.2、①链表头插法的建立及链表的输出图1.3链表输出图1.4头插法建立链表word资料.②尾插法建立word资料.图1.5尾插法建立word资料.三、实验程序清单1、/*顺序表的建立及
2、遍历*/#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");word资料.scanf("%d",&a);for(inti=0;i3、%d个元素t",i+1);scanf("%d",&L.data[i]);L.length++;}}voidshow(SeqlistL){inti;printf("线性表中的元素为:");for(i=0;i#includetypedefstructnode{chardata;structnode*next;}JD;JD*Crea4、teList_Front();intmain(){JD*head,*p;head=CreateList_Front();p=head;while(p!=NULL){printf("%c",p->data);p=p->next;}word资料.printf("");}JD*CreateList_Front(){JD*head,*p;charch;head=NULL;printf("依次输入字符数据(‘#’表示输入结束):");ch=getchar();while(ch!='#'){p=(JD*)malloc(sizeof(JD5、));p->data=ch;p->next=head;head=p;ch=getchar();}returnhead;}②/*链表尾插法建立及遍历*/word资料.#include#includetypedefstructlink{chardata;structlink*next;}linklist;linklist*CreateList_End();//尾插法创建单链表voidShowLinklist(linklist*h);//输出显示链表intmain(void){intchoice;li6、nklist*head;//head=(linklist*)malloc(sizeof(linklist));while(1){printf("单链表的创建");word资料.printf("1.使用带头结点的尾插法创建单链表");printf("");printf("2.链表输出显示");printf("");printf("3.退出");printf("做出选择:");scanf("%d",&choice);switch(choice){//尾插法case1:head=CreateList_End();break;/7、/输出链表case2:ShowLinklist(head);break;//退出程序case3:return0;break;word资料.default:break;}}return1;}linklist*CreateList_End(){charch;linklist*head,*s,*r;head=(linklist*)malloc(sizeof(linklist));r=head;printf("请依次输入字符数据('#'表示输入结束):");ch=getchar();while(ch!='#'){s=(linklist*8、)malloc(sizeof(linklist));s->data=ch;word资料.r->next=s;r=s;ch=getchar();}r->next=NULL;returnhead;}voidShowLinklist(lin
3、%d个元素t",i+1);scanf("%d",&L.data[i]);L.length++;}}voidshow(SeqlistL){inti;printf("线性表中的元素为:");for(i=0;i#includetypedefstructnode{chardata;structnode*next;}JD;JD*Crea
4、teList_Front();intmain(){JD*head,*p;head=CreateList_Front();p=head;while(p!=NULL){printf("%c",p->data);p=p->next;}word资料.printf("");}JD*CreateList_Front(){JD*head,*p;charch;head=NULL;printf("依次输入字符数据(‘#’表示输入结束):");ch=getchar();while(ch!='#'){p=(JD*)malloc(sizeof(JD
5、));p->data=ch;p->next=head;head=p;ch=getchar();}returnhead;}②/*链表尾插法建立及遍历*/word资料.#include#includetypedefstructlink{chardata;structlink*next;}linklist;linklist*CreateList_End();//尾插法创建单链表voidShowLinklist(linklist*h);//输出显示链表intmain(void){intchoice;li
6、nklist*head;//head=(linklist*)malloc(sizeof(linklist));while(1){printf("单链表的创建");word资料.printf("1.使用带头结点的尾插法创建单链表");printf("");printf("2.链表输出显示");printf("");printf("3.退出");printf("做出选择:");scanf("%d",&choice);switch(choice){//尾插法case1:head=CreateList_End();break;/
7、/输出链表case2:ShowLinklist(head);break;//退出程序case3:return0;break;word资料.default:break;}}return1;}linklist*CreateList_End(){charch;linklist*head,*s,*r;head=(linklist*)malloc(sizeof(linklist));r=head;printf("请依次输入字符数据('#'表示输入结束):");ch=getchar();while(ch!='#'){s=(linklist*
8、)malloc(sizeof(linklist));s->data=ch;word资料.r->next=s;r=s;ch=getchar();}r->next=NULL;returnhead;}voidShowLinklist(lin
此文档下载收益归作者所有