数据结构和算法实验报告

数据结构和算法实验报告

ID:21953664

大小:112.50 KB

页数:10页

时间:2018-10-25

数据结构和算法实验报告_第1页
数据结构和算法实验报告_第2页
数据结构和算法实验报告_第3页
数据结构和算法实验报告_第4页
数据结构和算法实验报告_第5页
资源描述:

《数据结构和算法实验报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、WORD文档可编辑数据结构实验报告题目:线性表班级:网络工程1401班学号:1408020106指导教师:高峰日期:2016/7/6技术资料专业分享WORD文档可编辑实验一:线性表一:实验要求掌握数据结构中线性表的基本概念。熟练掌握线性表的基本操作:创建、插入、删除、查找、输出、求长度及合并并运算在顺序存储结构撒谎能够的实验。熟练掌握链表的各种操作和应用。二.实验内容1.编程实现在顺序存储的有序表中插入一个元素(数据类型为整型)。2.编程实现把顺序表中从i个元素开始的k个元素删除(数据类型为整型)。三

2、:实验过程及步骤源代码:#include#include#defineLIST_INIT_SIZE100#defineLISTINCREMENT10typedefstruct{int*elem;intlength;intlistsize;}SqList;//SqListsq;voidInitList_Sq(SqList*sq)//初始化列表{sq->elem=(int*)malloc(LIST_INIT_SIZE*sizeof(int));sq->length=0

3、;sq->listsize=LIST_INIT_SIZE;printf("---申请空间成功---!");}voidGetElem(SqList*sq,inti)//获取第i位置元素的值{int*p;p=&(sq->elem[i-1]);printf("%d",*p);printf("");}intListInsert_Sq(SqList*sq,inti,inta)//在i位置之前插入a{int*p,*q;if(i<=0

4、

5、i>sq->length+1){printf("---位置不合法---

6、!");技术资料专业分享WORD文档可编辑return0;}if(sq->length>=sq->listsize){int*newbase=(int*)realloc(sq->elem,(sq->listsize+LISTINCREMENT)*sizeof(int));if(!newbase){printf("申请空间溢出");return0;}sq->elem=newbase;sq->listsize+=LISTINCREMENT;}p=&(sq->elem[i-1]);//p指向第i位置

7、的元素q=&(sq->elem[sq->length-1]);//q指向最后一个元素for(;q>=p;--q)*(q+1)=*q;*p=a;++sq->length;return1;}intListDelete_Sq(SqList*sq,inti)//删除i位置上的值{int*p,*q;if(i<1

8、

9、i>sq->length)return0;p=&(sq->elem[i-1]);//p指向第i位置的元素q=sq->elem+sq->length-1;//q指向最后一个元素for(++p;p<=q;

10、++p){*(p-1)=*p;}--sq->length;return1;}voidvisit(SqList*sq)//输出数据{inti=1;for(;i<=sq->length;i++){int*p;p=&sq->elem[i-1];printf("%d",*p);printf("");}}技术资料专业分享WORD文档可编辑voidmain(){inti=1,a=0,boo=1,number=0;SqLists,*sq;sq=&s;InitList_Sq(sq);printf("初始化空表")

11、;printf("输入数据个数:");scanf("%d",&number);printf("输入%d个数据:",number);printf("");for(;i<=number;i++){scanf("%d",&a);if(boo=ListInsert_Sq(sq,i,a)){printf("---插入成功!---");}else{printf("---插入不成功,重新插入---!");i=i-1;}}printf("输出所有元素");visit(sq);printf(""

12、);printf("输出删除的位置:");scanf("%d",&a);if(boo=ListDelete_Sq(sq,a)){printf("---数据删除成功!---");}else{printf("---没有删除成功---");}printf("输出所有元素:");visit(sq);printf("");printf("输出要显示数据的位置:");scanf("%d",&a);printf("输出%d位置数值",a);if(a

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

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

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