1 / 23
文档名称:

数据结构实验报告.doc

格式:doc   大小:233KB   页数:23页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据结构实验报告.doc

上传人:zxwziyou9 2019/6/14 文件大小:233 KB

下载得到文件列表

数据结构实验报告.doc

相关文档

文档介绍

文档介绍:院系:计算机科学学院专业:网络工程年级:2012课程名称:数据结构学号:2012213773姓名:黄勇指导教师:吴立锋2014年6月日年级 2012班号 1201组号 学号 2012213773专业网络工程 姓名黄勇实验名称 第二章线性表实验室实验目的或要求 了解线性表的逻辑结构和各种存储表示方法,以及定义在逻辑结构上的各种基本运算及其在某种存储结构上如何实现这些基本运算。在熟悉上述内容的基础上,能够针对具体应用问题的要求和性质,选择合适的存储结构设计出相应的有效算法,解决与线性表相关的实际问题。实验原理(算法流程)实验内容单链表的各种基本操作,包括创建,查找,插入,删除,输出,合并等2、存储结构描述及说明链式存储结构typedefstructnode{chardata;structnode*next;}linklist;3、函数说明linklist*rcrect(linklist*head)尾插法建立单链表voidprint(linklist*head)输出函数,输出单链表。linklistlocation(linklist*head)按序号查找函数,按序号查找单链表中数据。linklistinset(linklist*head)插入函数,在单链表中插入数据。linklistdelet(linklist*head)删除函数,删除单链表中的数据。intmain()主函数,程序运行调用各子函数。4、模块之间的调用关系开始主函数创建单链表查找单链表数据删除数据输出函数插入函数程序清单:#include<>#include<>#include<>typedefstructnode//定义节点类型{chardata;structnode*next;//因为上面结构体的类型名是structnodelinklist是别名}linklist;//一般List顺序表,linklist链表intmain(){inta;linklist*head;head=(linklist*)malloc(sizeof(linklist));printf("请先建立单链表!\n");linklist*rcrect(linklist*head);//调用尾插法rcrect(head);/*linklist*hcrect();//或者调用头插法hcrect();*/for(;;){printf("\n您想要对此单链表表做何种操作:\\\\\n");scanf("%d",&a);if(a<0||a>3)printf("您输入的数字有误,请重新输入!\n");if(a==0)//退出exit(0);if(a==1){linklistlocation(linklist*head);//调用按序号查找函数location(head);}if(a==2){linklistinset(linklist*head);//调用插入函数inset(head);}if(a==3)//调用删除函数{linklistdelet(linklist*head);//调用删除函数delet(head);}}return0;}//*rcrect(linklist*head)//尾插法链接到已经建立好的单链表的末尾{linklist*p,*last;charch;//用于输入字符last=head;printf("请输入你要存储的字符,以!号结束:\n");while(ch!='!'){p=(linklist*)malloc(sizeof(linklist));scanf("%c",&ch);p->data=ch;//每次都申请一个节点,数据域存放数据,指针域为空//printf("%c\t",p->data);可以用来测试存储是否正确last->next=p;last=p;//上一次的最后一个元素的地址赋给lastp->next=NULL;}voidprint(linklist*head);//调用输出函数print(head);returnhead;}//(linklist*head){linklist*p;p=head->next;printf("\n你存储的数据为:\n");while(p!=NULL){printf("%c\t",p->data);p=p->next;}}//(linklist*head){linklist*p;inti,k=0;p=head;printf("\n请输入你要查找链表中第几个元素:\n");scanf("%d",&i);while(p&&k<i){p=p-