1 / 15
文档名称:

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

格式:doc   页数:15
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

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

上传人:3346389411 2012/8/4 文件大小:0 KB

下载得到文件列表

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

文档介绍

文档介绍:数据结构
课程设计
设计题目: 单链表
小组成员姓名:

专业班级: 计算机应用<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++,操作系统:Windows XP 硬件:内存要求:内存大小在256MB,其他配置一般就行。
四、算法设计思想
1、定义一个创建链表的函数,通过该函数可以创建一个链表,并为下面的函数应用做好准备。
2、定义输出链表的算法,通过对第一步已经定义好的创建链表函数的调用,在这一步通过调用输出链表的函数算法来实现对链表的输出操作。
3、定义一个遍历查找的算法,通过此算法可以查找到链表中的每一个节点是否存在。
4、定义查找链表的每一个前驱和后继,通过定义这个算法,可以很容易的实现对链表的前驱和后继的查找工作。
5、定义插入节点的算法,通过定义这个算法,并结合这查找前驱和后继的算法便可以在连链表的任意位置进行插入一个新节点。
6、定义删除节点的操作,这个算法用于对链表中某个多余节点的删除工作。
7、定义一个逆置单链表的操作,通过定义这个算法,可以逆置输出单链表。
8、定义一个撤销链表的算法,这个算法用于删除单链表中的所有节点,使链表为空。

五、算法流程图

六、算法源代码
#include <>
#include<>
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!=NULL&&k<i)
{
p=p->next;
k++;
}
if(k==i&&p!=NULL)
printf("i position data is %d\n",p->data);
else
printf("No find!\n");
}
void Insert(linklist *H,int i,int x)//向单链表中插入某个元素
{
linklist *p;int k;linklist *s;
p=H;k=0;
while(p->next!=NULL&&k<i-1)
{
p=p->next;k++;
}
if(