顺序表和单链表实验报告

顺序表和单链表实验报告

ID:46617589

大小:198.00 KB

页数:12页

时间:2019-11-26

顺序表和单链表实验报告_第1页
顺序表和单链表实验报告_第2页
顺序表和单链表实验报告_第3页
顺序表和单链表实验报告_第4页
顺序表和单链表实验报告_第5页
资源描述:

《顺序表和单链表实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、数据结构实验报告一、顺序表操作验证1.实验目的⑴掌握线性表的顺序存储结构;⑵验证顺序表及其基本操作的实现;⑶掌握数据结构及算法的程序实现的基本方法。2.实验内容⑴建立含有若干个元素的顺序表;⑵对已建立的顺序表实现插入、删除、查找等基本操作。3.设计与编码#include#include#includestructLinearList{int*list;intsize;intMaxSize;};typedefstructLinearListLIST;voidInitLis

2、t(LIST*L,intms){if((L->list=(int*)malloc(ms*sizeof(int)))==NULL){printf("内存申请错误!");exit(1);}L->size=0;L->MaxSize=ms;}intInsertList(LIST*L,intitem,intrc){inti;if(L->size>=L->MaxSize)return-1;if(rc<0)rc=0;if(rc>L->size)rc=L->size;for(i=L->size-1;i>=rc;i--)L->list[i+

3、1]=L->list[i];L->list[rc]=item;L->size++;return0;}voidOutputList(LIST*L){inti;for(i=0;isize;i++)printf("%d",L->list[i]);printf("");}intFindList(LIST*L,intitem){inti;for(i=0;isize;i++)if(item==L->list[i])returni;return-1;}intDeleteList1(LIST*L,intitem){inti

4、,n;for(i=0;isize;i++)if(item==L->list[i])break;if(isize){for(n=i;nsize-1;n++)L->list[n]=L->list[n+1];L->size--;returni;}return-1;}intDeleteList2(LIST*L,intrc){inti,n;if(rc<0

5、

6、rc>=L->size)return-1;for(n=rc;nsize-1;n++)L->list[n]=L->list[n+1];L->size--

7、;return0;}voidmain(){LISTLL;inti,r;printf("listaddr=%ptsize=%dtMaxSize=%d",LL.list,LL.size,LL.MaxSize);InitList(&LL,100);printf("listaddr=%ptsize=%dtMaxSize=%d",LL.list,LL.size,LL.MaxSize);while(1){printf("请输入元素值,输入0结束插入操作:");fflush(stdin);scanf("%d",&i);if(

8、i==0)break;printf("请输入插入位置:");scanf("%d",&r);InsertList(&LL,i,r-1);printf("线性表为:");OutputList(&LL);}while(1){printf("请输入查找元素值,输入0结束查找操作:");fflush(stdin);scanf("%d",&i);if(i==0)break;r=FindList(&LL,i);if(r<0)printf("没找到");elseprintf("有符合条件的元素,位置为:%d",r+1);}while(

9、1){printf("请输入删除元素值,输入0结束查找操作:");fflush(stdin);scanf("%d",&i);if(i==0)break;r=DeleteList1(&LL,i);if(r<0)printf("没找到");else{printf("有符合条件的元素,位置为:%d线性表为:",r+1);OutputList(&LL);}}while(1){printf("请输入删除元素位置,输入0结束查找操作:");fflush(stdin);scanf("%d",&r);if(r==0)break;i=D

10、eleteList2(&LL,r-1);if(i<0)printf("位置越界");else{printf("线性表为:");OutputList(&LL);}}}4.运行结果二、单链表操作验证1.实验目的⑴掌握线性表的链式存储结构;⑵验证单链序表及其基本操作的实现;⑶进

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

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

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