线性表的建立与遍历.doc

上传人:scccc 文档编号:12001964 上传时间:2021-12-01 格式:DOC 页数:12 大小:565.50KB
返回 下载 相关 举报
线性表的建立与遍历.doc_第1页
第1页 / 共12页
线性表的建立与遍历.doc_第2页
第2页 / 共12页
线性表的建立与遍历.doc_第3页
第3页 / 共12页
亲,该文档总共12页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《线性表的建立与遍历.doc》由会员分享,可在线阅读,更多相关《线性表的建立与遍历.doc(12页珍藏版)》请在三一文库上搜索。

1、目录一、实验题目2二、实验流程图2三、实验程序清单5四、实验验证数据9五、实验体会10实验一线性表的建立与遍历一、实验题目1、给定一个输入序列,建立顺序表,访问输出顺序表中各结点的内容。2、给定一个输入序列,建立线性链表,访问输出线性链表中各结点的内容。二、实验流程图1、顺序表的建立流程图图1.1输入流程图图1.2输岀流程图2、链表头插法的建立及链表的输出图1.3链表输出图1.4头插法建立链表尾插法建立图1.5尾插法建立三、实验程序清单1、广顺序表的建立及遍历*/#include <stdio.h>typedef structint data100;int length;Seqli

2、st;void creat(Seqlist &L);void show(Seqlist L);int main()Seqlist L;L.length=0;creat(L);show(L);return 0;void creat(Seqlist &L)int a;printfC*请输入要创建的元素的个数:f*); scanf (” d”,&a);for(int i=0;iva;i+)printf(n请输入第%d个元素t”,i+1);scanf(” d”,&L.datai);Lien gth+;void show(Seqlist L)inti;printfC*线性

3、表中的元素为:rT);for(i=0;i<L.length;i+) printf(n%dV',L.datai); printf('n);2、广头插法链表的建立*/#include <stdio.h>#include <stdlib.h>typedef struct nodechar data;struct node *next;JD;JD *CreateList_Front();int iriain()JD *head,*p;head=CreateList_ Front();p = head;while(p != NULL)printf(n%c&q

4、uot;, p->data);p = p>n ext;printf (”rf);JD *CreateList_Front()JD *head, *p;char ch;head = NULL;printf(n依次输入字符数据(表示输入结束):F);ch = getchar();while(ch != #)p = (JD*)malloc(sizeof(JD);p->data = ch;p>n ext = head;head = p;ch = getchar();return head;广链表尾插法建立及遍历*/#include <stdio.h>#include

5、 <stdlib.h> typedef struct linkchar data; struct link Fext;尾插法创建单链表 输出显示链表linklist *CreateList_End(); / void ShowLinklist(linklist *h); / int main (void)int choice;linklist *head;/head = (linklist*)malloc(sizeof(linklist);while(1)printf(M单链表的创建n“);printf(n1使用带头结点的尾插法创建单链表”);printf (”);printf(H

6、2.链表输出显示”);printf (”);printf(n3.退出 nH);printf(M做出选择:rT);scanf(” d”,&choice); switch(choice)/ 尾插法case 1: head = CreateList_End();break;/ 输出链表case 2:ShowLi nklist(head); break;/ 退出程序case 3:return 0;break;default:break;return 1;linklist *CreateList_End()char ch;linklist *head, *s, *r;head = (linkli

7、st*)malloc(sizeof(linklist);r=head;printf(n请依次输入字符数据(#表示输入结束):nn); ch =getchar();while(ch != #)s = (linklist*)malloc(sizeof(linklist);s->data = ch;r>n ext=s;r=s;ch=getchar();r->next = NULL;return head;void ShowLinklist(linklist *h)linklist *s;s = h;while(s != NULL)printf(”c ", s->da

8、ta);s = son ext;printf (”n”);四、实验验证数据1、顺序表的建乂及输岀结果如下:"D:UserDatalenovoDesktopL4sxDebugCppl.exe"回'S33 卜毎2 贝*AE NI-.-I 1 1 2 3 4 5"_个6瓠4ress any key to continue图1.6 顺序输出2、链表头插法建立及遍历,结果如下:图1.7 头插法3、链表尾插法的建立及遍历,结果如下:图1.8 尾插法五、实验体会通过这次实验的练习,虽然在编程的过程中出现的一些小的错误,例如变量未定 义,但是在自己不断的修正下,结果不断完善。通过这次实验让我更加明白一个顺 序表怎么建立,先大体上估计一个数组的大小,自己来确定这个顺序表的长度,然 后进行输出。在链表实验中还做了头插法和尾插法建立及遍历链表,通过实验结果 可以更加明白,插法建立链表输岀结果是逆序的,而尾插法建立链表输出结果是正 序。

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

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1