- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单链表的操作实现实验报告
信 息 学 院
《数据结构》上机实验报告
学号:104100058 姓名:赵德刚 班级:10A 实验时间: 年 月 日 实验地点:同析3号楼 开发环境:C++ 课程名称:数据结构----C语言描述 实验性质: □ 综合性实验 □√ 设计性实验 □ 验证实验 实验内容:单链表的实现 题目来源: □√ 教材 页 题 □ √教师补充 □ 自选题目 主要功能描述:链表的初始化、链表的创建(头部插入法、尾部插入法)、求表长、查找(按值查找、按序号查找)、插入、删除、输出、两个有序单链表的合并等。
源程序文件名及组成文件:#includestdio.h,#includestdlib.h,#includeconio.h,#includewindows.h 算法设计思想 ②算法描述
#includestdio.h
#includestdlib.h
#includeconio.h
#includewindows.h
#define TRUE 1
#define FALSE 0
typedef int ElemType;
typedef struct Node
{
ElemType data;
struct Node * next;
}Node,*LinkList;
/*初始化*/
void Init(LinkList *head)
{
*head=(LinkList)malloc(sizeof(Node));
(*head)-next=NULL;
}
LinkList create(int n)
{
LinkList h,r,p;
int x,i;
h=(Node*)malloc(sizeof(Node));
r=h;
printf(请输入数据:\n);
for(i=1;i=n;i++)
{
scanf(%d,x);
p=(Node*)malloc(sizeof(Node));
p-data=x;
r-next=p;
r=p;
}
r-next=NULL;
return h;
}
/*头部插入*/
int CreatfromH(LinkList head)
{
LinkList p;
ElemType x;
puts(输入数据,输入-1000结束输入!);
while(1)
{
scanf(%d,x);
if(x!=-1000)
{
p=(Node*)malloc(sizeof(Node));
p-data=x;
p-next=head-next;
head-next=p;
}
else break;
}
return 1;
return 0;
}
/*尾部插入*/
LinkList CreatfromT(LinkList head)
{
LinkList p,q,t;
ElemType x;
q=head;t=head;
puts(输入数据,输入-1000结束输入!);
while(1)
{
scanf(%d,x);
if(x!=-1000)
{
p=(Node*)malloc(sizeof(Node));
p-data=x;
p-next=NULL;
t-next=p;
t=p;
}
}
return q;
}
int Inslist(LinkList *head,int i,ElemType x)
{
LinkList p,q;
p=(*head);
int j=0;
while(pji-1)
{
p=p-next;
j++;
}
if(!p||ji-1)
{
printf(插入位置不合法!);
return 0;
}
q=(Node*)malloc(sizeof(Node));
q-data=x;
q-next=p-next;
p-next=q;
return 1;
}
//输出
void Output(LinkList head)
{
/*定义节点指针类型,并指向首元结点*/
LinkList p;
p=head-next;
while(p!=NULL)
{
printf(\n%d,p-data);
p=p-next;
}
printf(\n);
}
/*求表长*/
int LengthList(LinkList head)
{
int i;
LinkList p;
i=0;
p=head-next;
while(p!=NULL)
{
i++;
p=p-next;
}
return i
文档评论(0)