基础性实践环节(数据结构)实践报告

基础性实践环节(数据结构)实践报告

ID:17937507

大小:932.13 KB

页数:42页

时间:2018-09-11

基础性实践环节(数据结构)实践报告_第1页
基础性实践环节(数据结构)实践报告_第2页
基础性实践环节(数据结构)实践报告_第3页
基础性实践环节(数据结构)实践报告_第4页
基础性实践环节(数据结构)实践报告_第5页
资源描述:

《基础性实践环节(数据结构)实践报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、重庆大学基础性实践环节(数据结构)实践报告实践课程名称数据结构与算法开课实验室数学实验教学中心学院数学与统计学院年级2009级专业班信息与计算科学01班学生姓名学号20092250开课时间2011至2012学年第一学期总成绩教师签名实验一、单链表的基本操作一、实验目的1、掌握线性链表的操作特点,即指针是逻辑关系的映像。2、掌握动态产生单链表的方法。3、熟练掌握单链表的插入、删除操作特点,即指针赋值的先后次序。二、实验内容1、动态创建单链表2、实现线性表链式存储结构中元素的插入。3、实现线性表链式存储结构中元素的删除。三、具体要求1、单链表的存储结构定义typedefstruc

2、tLNode{ElemTypedata;//数据域structLNode*next;//指针域}LNode,*LinkList;2、从键盘上依次输入21、18、30、75、42、56,逆序创建单链表,并输出单链表中的各元素值。3、分别在单链表的第3个位置和第9个位置插入67和10,给出插入成功或失败的信息,并输出单链表中的各元素值。4、删除单链表中的第6个数据元素和第8个数据元素,给出删除成功或失败的信息,并输出单链表中的各元素值。四、完成情况和实验记录1、由于程序要求的操作很多,而且C程序要求敏感,所以在编程过程中只有通过不断的修改,不断的尝试来克服遇到的很多错误和警告问题

3、。在调试过程要有足够的耐心和发现错误的洞察力。五、完成情况和实验记录#include#include#include#include#defineLENsizeof(LNode)//定义LEN为一个节点的长度enumBOOL{False,True};//定义BOOL型typedefstructnode{intdata;//数据域structnode*next;//指向下一个节点的指针}LNode,*LinkList;voidCreatList(LinkList&,int);//生成一个单链表BOOLList

4、Insert(LinkList&,int,int);//在单链表中插入一个元素BOOLListDelete(LinkList&,int,int);//在单链表中删除一个元素voidListPrint(LinkList);//显示单链表所有元素voidmain(){LinkListL;BOOLtemp;intnum,loc,flag=1,ch;charj;//程序说明printf("单链表的基本操作。");printf("可以进行逆置,插入,删除等操作。");printf("请输入初始时链表长度:");//输入生成单链表时的元素个数scanf("%d",&num);Cr

5、eatList(L,num);//生成单链表ListPrint(L);while(flag){printf("请选择:");printf("1.显示所有元素");//显示链表元素printf("2.插入一个元素");//插入链表元素printf("3.删除一个元素");//删除链表元素printf("0.退出程序");//退出scanf("%c",&j);switch(j){case'1':ListPrint(L);break;case'2':{printf("请输入数据和要插入的位置-1:");printf("格式:数据,位置;例如:12,3,(即把

6、12插入到第3个位置之后,即第4个位置)");scanf("%d,%d",&ch,&loc);//输入要插入的元素和要插入的位置temp=ListInsert(L,loc,ch);//插入if(temp==False)printf("插入失败!");//插入失败elseprintf("插入成功!");//成功插入ListPrint(L);break;}case'3':printf("请输入要删除的元素所在位置-1:(输入2,即删除的是第3个元素):");scanf("%d",&loc);//输入要删除的节点的位置temp=ListDelete(L,loc,ch);

7、//删除if(temp==False)printf("删除失败!");//删除失败elseprintf("成功删除了一个元素:%d",ch);//删除成功,显示该元素ListPrint(L);break;default:flag=0;printf("程序结束,按任意键退出!");}}getchar();}voidCreatList(LinkList&v,intn){//生成一个带头结点的有n个元素的单链表inti;LinkListp;v=(LinkList)malloc(LEN);//生成头

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

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

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