01110624-徐大生-实验三

01110624-徐大生-实验三

ID:13044541

大小:483.50 KB

页数:12页

时间:2018-07-20

01110624-徐大生-实验三_第1页
01110624-徐大生-实验三_第2页
01110624-徐大生-实验三_第3页
01110624-徐大生-实验三_第4页
01110624-徐大生-实验三_第5页
资源描述:

《01110624-徐大生-实验三》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、《数据结构》课程实验《数据结构》实验报告题目:_单链表的实现学号:_01110624姓名:__徐大生教师:__李香菊东南大学成贤学院计算机系2012年10月22日12《数据结构》课程实验实验题目一、实验目的1.实现线性表的链式存储结构,并进行简单应用。二、实验内容1.创建如下菜单,并实现所列的功能。线性表应用系统*********************************1---------初始化**2---------判断是否为空表**3---------头插法构造单链表**4---------尾插法构造单链表**5---------求表长**6---------输出表*

2、*7---------插入元素**8---------删除元素**9---------查找元素**10--------修改元素**11--------清空表**12--------释放表空间**13--------逆置单链表**14--------退出*********************************请选择菜单号(0-14):三、实验结果1.代码及运行结果截图#include#includetypedefintDataType;typedefstructNode{DataTypedata;structNode*next;}No

3、de;typedefstructNode*LinkList;//初始化单链表intInitList(LinkList*L){*L=(LinkList)malloc(sizeof(Node));(*L)->next=NULL;returntrue;}//判断是否为空intListEmpty(LinkListL)12《数据结构》课程实验{if(L->next)returnfalse;elsereturntrue;}//单链表的清空intClearList(LinkList*L){LinkListp,q;p=(*L)->next;while(p){q=p->next;free(p);p

4、=q;}(*L)->next=NULL;returntrue;}//求表长intListLength(LinkListL){inti=0;LinkListp=L->next;while(p){i++;p=p->next;}returni;}//输出表intGetElem(LinkListL,inti,DataTypee){intj=1;LinkListp;p=L->next;while(p&&jnext;j++;}if(!p

5、

6、j>i)12《数据结构》课程实验returnfalse;p->data=e;returntrue;}//单链表遍历voidListTra

7、verse(LinkListL){intcount=0;LinkListp=L->next;while(p){printf("%d",p->data);p=p->next;count++;}printf("");}//单链表插入intListInsert(LinkList&L,inti,DataTypee){intj;LinkListp,s;p=L;j=1;while(p&&jnext;++j;}if(!p

8、

9、j>i)returnfalse;s=(LinkList)malloc(sizeof(Node));s->data=e;s->next=p->next;

10、p->next=s;printf("新生成的链表为:");ListTraverse(L);returntrue;}//单链表元素位置intLocateElem(LinkListL,DataTypee){inti=0;12《数据结构》课程实验LinkListp=L->next;while(p){i++;if(p->data==e)returni;p=p->next;}return0;}//单链表删除intListDelete(LinkList&L,inti,DataTypee){intj;LinkListp,q;p=L;j=1;while(p->next&&j

11、next;++j;}if(!(p->next)

12、

13、j>i)returnfalse;q=p->next;p->next=q->next;e=q->data;free(q);printf("新生成链表为:");ListTraverse(L);returntrue;}//头插法voidCreateListHead(LinkList&L,intn){LinkListp;inti;//srand(time(0));//初始化随机数种子L=(LinkList)malloc(sizeof(

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

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

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