单链表的基本操作.doc

单链表的基本操作.doc

ID:20542374

大小:268.00 KB

页数:6页

时间:2018-10-13

单链表的基本操作.doc_第1页
单链表的基本操作.doc_第2页
单链表的基本操作.doc_第3页
单链表的基本操作.doc_第4页
单链表的基本操作.doc_第5页
资源描述:

《单链表的基本操作.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、一、实验目的1.掌握线性表的链式存贮结构及基本操作,深入了解链表的基本特性,以便在实际问题背景下灵活运用它们。2.巩固该存贮结构的构造方法,深入了解和灵活掌握链表的插入,删除等操作。二、实验环境1.硬件:每个学生需配备计算机一台。2.软件:windows操作系统+TurboC。三、实验要求1.定义一链表类型,并定带有头结点的单链表。2.将教材中链表的建立,初始化,插入,删除等函数实现。3.链表能够存储10名学生的基本信息(包括姓名、学号和成绩)。4.由主函数按照用户要求对各个链表操作访问。5.每次操作之前要有明确的说明,操作后要输出操

2、作结果。6.分析链表的插入,删除。四、实验内容1.完成链表操作用到的函数InitList(&L)操作结果:构造一个空线性表L。ListInsert(&L,i,e)初始条件:线性表L已存在,1<=i<=ListLength(L)+1。操作结果:在L中第i个位置之前插入新的数据元素e,L的长度加1。ListDelete(&L,i,&e)初始条件:线性表L已存在且非空,1<=i<=ListLength(L)。操作结果:删除L中第i个数据元素,并用e返回其值,L的长度减1。2.在主函数中提示用户选择数据表操作,如:请选择对顺序表的操作,操作菜

3、单如下:**************************************************************初始化链表(C)链表中插入元素(I)链表中删除元素(D)**************************************************************作者:10网络单韩水玲五、源程序#include#include#include#defineLIST_INIT_SIZE1#defineLISTINCREMENT1st

4、ructstudent{intnum;charname[8];intscore;structstudent*next;};structstudent*p;structSqList{structstudent*elem;intlength;intlistsize;};voidhsl_print(){printf("t---------------------------------");}//输入信息inthsl_CreatSqList(structSqList*L){inti;intx;chara[10];printf("

5、t请输入学生个数:");scanf("%d",&x);printf("t请输入以下信息:学号,姓名,分数");L->elem=p=(structstudent*)malloc(LIST_INIT_SIZE*sizeof(structstudent));L->listsize=x;scanf("%d",&f->score);f->next=L->elem->next;L->elem->next=f;L->listsize=L->listsize+1;printf("t插入成功!");return1;}inth

6、sl_DeleteSqList(structSqList*L,intm){inti;if(m<1

7、

8、m>L->listsize){printf("t输入错误,请重新输入");return1;}L->elem=p;for(i=0;ielem=L->elem->next;L->elem->next=L->elem->next->next;L->listsize--;printf("t删除成功!");return1;}inthsl_OutputSqList(structSqList*L){in

9、ti;L->elem=p;printf("t所有学生成绩:");hsl_print();hsl_print();printf("t%-8s%-12s%-11s","学号","姓名","成绩");for(i=0;ilistsize;i++){printf("t%-8d%-12s%-11d",L->elem->num,L->elem->name,L->elem->score);L->elem=L->elem->next;hsl_print();}system("pause");return(1);for(i=0;

10、ilistsize;i++){printf("t第%d个学生分数",i+1);printf("t学号:");scanf("%d",&L->elem->num);printf("t姓名:");sc

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

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

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