1 / 13
文档名称:

数据结构(C语言版) 实验报告.doc

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

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

分享

预览

数据结构(C语言版) 实验报告.doc

上传人:君。好 2020/8/1 文件大小:44 KB

下载得到文件列表

数据结构(C语言版) 实验报告.doc

文档介绍

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