1 / 23
文档名称:

c数据结构实验报告.docx

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

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

分享

预览

c数据结构实验报告.docx

上传人:glfsnxh 2019/1/8 文件大小:23 KB

下载得到文件列表

c数据结构实验报告.docx

文档介绍

文档介绍:c数据结构实验报告数据结构(C语言版)实验报告;专业:计算机科学与技术、软件工程;学号:____XX_____;班级:_________软件二班________;姓名:________朱海霞__________;指导教师:___刘遵仁_____________;青岛大学信息工程学院;XX年10月;实验1;实验题目:顺序存储结构线性表的插入和删除;实验目数据结构(C语言版)实验报告专业:计算机科学与技术、软件工程学号:____XX___________________ 班级:_________软件二班______________ 姓名:________朱海霞______________ 指导教师:___刘遵仁________________ 青岛大学信息工程学院 XX年10月实验1 实验题目:顺序存储结构线性表的插入和删除实验目的: 了解和掌握线性表的逻辑结构和顺序存储结构,掌握线性表的基本算法及相关的时间性能分析。实验要求: 建立一个数据域定义为整数类型的线性表,在表中允许有重复的数据;根据输入的数据,先找到相应的存储单元,后删除之。实验主要步骤: 1、分析、理解给出的示例程序。 2、调试程序,并设计输入一组数据(3,-5,6,8,2,-5,4,7,-9),测试程序的如下功能:根据输入的数据,找到相应的存储单元并删除,显示表中所有的数据。程序代码: #include #include #defineOK1 #defineERROR0 #defineOVERFLOW-2 #defineLIST_INIT_SIZE100 #defineLISTINCREMENT10 typedefstruct{ int*elem; intlength; intlistsize; }Sqlist; intInitList_Sq(Sqlist&L){ =(int*)malloc(LIST_INIT_SIZE*sizeof(int)); if(!)return-1; =0; =LIST_INIT_SIZE; returnOK; } intListInsert_Sq(Sqlist&L,inti,inte){ if(i+1)returnERROR; if(==){ int*newbase; newbase=(int*)realloc(,(+LISTINCREMENT)*sizeof(int)); if(!newbase)return-1; =newbase; +=LISTINCREMENT; } int*p,*q; q=&(); for(p=&();p>=q;--p) *(p+1)=*p; *q=e; ++; returnOK; } intListDelete_Sq(Sqlist&L,inti,inte){ int*p,*q; if(i)returnERROR; p=&(); e=*p; q=+; for(++p;p *(p-1)=*p; --; returnOK; } intmain(){ SqlistL; InitList_Sq(L);//初始化 inti,a={3,-5,6,8,2,-5,4,7,-9}; for(i=1;i ListInsert_Sq(L,i,a); for(i=0;i printf("%d",); printf("");//插入9个数 ListInsert_Sq(L,3,24); for(i=0;i printf("%d",); printf("");//插入一个数 inte; ListDelete_Sq(L,2,e); for(i=0;i printf("%d",);//删除一个数 printf(""); return0; } 实验结果: 3,-5,6,8,2,-5,4,7,-9 3,-5,24,6,8,2,-5,4,7,-9 3,24,6,8,2,-5,4,7,-9 心得体会: 顺序存储结构是一种随机存取结构,存取任何元素的时间是一个常数,速度快;结构简单,逻辑上相邻的元素在物理上也相邻;不使用指针,节省存储空间;但是插入和删除元素需要移动大量元素,消耗大量时间;需要一个连续的存储空间;插入元素可能发生溢出;自由区中的存储空间不能被其他数据共享实验2 实验题目:单链表的插入和删除实验目的: 了解和掌握线性表的逻辑结构和链式存储结构,掌握单链表的基本算法及相关的时间性能分析。实验要求: 建立一个数据域定义为字符类型的单链表,在链表中不允许有重复的字符;根据输入的字符,先找到相应的结点,后删除之。实验主要步骤: 3、分析、理解给出的示例程序。 4、调试程序,并设计输入数据(如:A,C,E,F,H,J,Q,M),测试程序的如下功能:不允许重复字符的插入;根据输入的字符,找到相应的结点并删除。 5、修改程序: (1)增加插入结点的功能