数据结构课程设计-单链表汇.doc

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构课程设计-单链表汇

数据结构 课程设计 设 计 题 目: 单链表 小组成员姓名: 专 业 班 级: 计算机应用3班 指 导 教 师: 安徽新华学院信息工程学院 日期:2010年12月23日 课题名称 单链表 院 系 信息工程学院 年级专业 计应3班 成员姓名 成员学号 承担的任务 成 绩 单链表的建立、插入,整理单链表 单链表的输出、查找,整理单链表 单链表的前驱、后继,整理单链表 单链表的删除、撤销,整理单链表 单链表的逆置,整理单链表 课题设计 目的与 设计意义 1、课题设计目的:1、掌握单链表的结构特点及有关概念; 2、掌握单链表的建立、插入、删除、查 找、输出、撤销、逆置、求前驱和后 继等基本操作的算法实现。 2、课题设计意义: 指导教师:李春梅 2010年12月23日 安徽新华学院课程设计成绩评定表 目录 一、实验目的 2 1、 2 2、 2 二、实验内容 3 三、实验基本要求(软、硬件) 3 四、算法设计思想 3 1、 3 2、 3 3、 4 4、 4 5、 4 6、 4 7、 4 8、 4 五、算法流程图 4 六、算法源代码 5 七、运行结果 16 1、 16 2、 16 3、 17 4、 18 5、 18 6、 19 7、 19 8、 19 9、 20 八、收获及体会 20 一、实验目的 1、理解并掌握单链表的结构特点和相关概念; 2、学会单链表的基本操作:建立、插入、删除、查找、 输入、撤销、逆置、求前驱和后继等并实现其算法。 二、实验内容 利用头插建立一个带头结点的单链表,并用算法实现该单链表的插入、删除 查找、输出、求前驱和后继、再把此单链表逆置,然后在屏幕上显示每次操作的结果 当所有操作完成后能撤销该单链表。 三、实验基本要求(软、硬件) 用VC++6.0软件平台,操作系统:Windows XP 硬件:内存要求:内存大小在256MB,其他配置一般就行。 四、算法设计思想 1、定义一个创建链表的函数,通过该函数可以创建一个链表,并为下面的函数应用做好准备。 2、定义输出链表的算法,通过对第一步已经定义好的创建链表函数的调用,在这一步通过调用输出链表的函数算法来实现对链表的输出操作。 3、定义一个遍历查找的算法,通过此算法可以查找到链表中的每一个节点是否存在。 4、定义查找链表的每一个前驱和后继,通过定义这个算法,可以很容易的实现对链表的前驱和后继的查找工作。 5、定义插入节点的算法,通过定义这个算法,并结合这查找前驱和后继的算法便可以在连链表的任意位置进行插入一个新节点。 6、定义删除节点的操作,这个算法用于对链表中某个多余节点的删除工作。 7、定义一个逆置单链表的操作,通过定义这个算法,可以逆置输出单链表。 8、定义一个撤销链表的算法,这个算法用于删除单链表中的所有节点,使链表为空。 五、算法流程图 六、算法源代码 #include stdio.h #includestdlib.h typedef struct node { int data; struct node *next; }linklist; void setnull(linklist *H)//清空单链表 { H-next=NULL; } void Leng(linklist *H)//求单链表长度 { linklist *p; int k; p=H;k=0; while(p-next!=NULL) { p=p-next; k++; } printf(The linklist is:%d\n,k); } int GetElem(linklist *H,int i)//取单链表中的某个元素 { linklist *p; int k; p=H;k=0; while(p-next!=NULLki) { p=p-next; k++; } if(k==ip!=NULL) printf(i position data is %d\n,p-data); else printf(No find!\n); } void Insert(linklist *H,int i,int x)//向单链表中插入某个元素 { linkl

您可能关注的文档

文档评论(0)

liwenhua00 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档