数据结构(C语言版) 实验报告资料

数据结构(C语言版) 实验报告资料

ID:39710976

大小:67.00 KB

页数:15页

时间:2019-07-09

数据结构(C语言版) 实验报告资料_第1页
数据结构(C语言版) 实验报告资料_第2页
数据结构(C语言版) 实验报告资料_第3页
数据结构(C语言版) 实验报告资料_第4页
数据结构(C语言版) 实验报告资料_第5页
资源描述:

《数据结构(C语言版) 实验报告资料》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、数据结构(C语言版)实验报告专业:计算机科学与技术、软件工程学号:____201240703061___________________班级:_________软件二班______________姓名:________朱海霞______________指导教师:___刘遵仁________________青岛大学信息工程学院2013年10月实验1实验题目:顺序存储结构线性表的插入和删除实验目的:了解和掌握线性表的逻辑结构和顺序存储结构,掌握线性表的基本算法及相关的时间性能分析。实验要求:建立一个

2、数据域定义为整数类型的线性表,在表中允许有重复的数据;根据输入的数据,先找到相应的存储单元,后删除之。实验主要步骤:1、分析、理解给出的示例程序。2、调试程序,并设计输入一组数据(3,-5,6,8,2,-5,4,7,-9),测试程序的如下功能:根据输入的数据,找到相应的存储单元并删除,显示表中所有的数据。程序代码:#include#include#defineOK1#defineERROR0#defineOVERFLOW-2#defineLIST_INIT_

3、SIZE100#defineLISTINCREMENT10typedefstruct{int*elem;intlength;intlistsize;}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;returnOK;}intListInsert_Sq(Sqlist&L,in

4、ti,inte){if(i<1

5、

6、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.ele

7、m[L.length-1]);p>=q;--p)*(p+1)=*p;*q=e;++L.length;returnOK;}intListDelete_Sq(Sqlist&L,inti,inte){int*p,*q;if(i<1

8、

9、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;InitL

10、ist_Sq(L);//初始化inti,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("");//插入9个数ListInsert_Sq(L,3,24);for(i=0;i<10;i++)printf("%d",L.elem[i]);printf("");//插入一个数inte;ListDelete_Sq(

11、L,2,e);for(i=0;i<9;i++)printf("%d",L.elem[i]);//删除一个数printf("");return0;}实验结果: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心得体会:顺序存储结构是一种随机存取结构,存取任何元素的时间是一个常数,速度快;结构简单,逻辑上相邻的元素在物理上也相邻;不使用指针,节省存储空间;但是插入和删除元素需要移动大量元素,消耗大量时间;需要一个连续的存

12、储空间;插入元素可能发生溢出;自由区中的存储空间不能被其他数据共享实验2实验题目:单链表的插入和删除实验目的:了解和掌握线性表的逻辑结构和链式存储结构,掌握单链表的基本算法及相关的时间性能分析。实验要求:建立一个数据域定义为字符类型的单链表,在链表中不允许有重复的字符;根据输入的字符,先找到相应的结点,后删除之。实验主要步骤:1、分析、理解给出的示例程序。2、调试程序,并设计输入数据(如:A,C,E,F,H,J,Q,M),测试程序的如下功能:不允许重复字符的插入;根据输入的字符,找到相应的结点并

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。