1 / 8
文档名称:

数据结构实验报告(C语言)单链表的基本操作.pdf

格式:pdf   大小:218KB   页数:8页
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

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

分享

预览

数据结构实验报告(C语言)单链表的基本操作.pdf

上传人:小辰GG1 2023/3/26 文件大小:218 KB

下载得到文件列表

数据结构实验报告(C语言)单链表的基本操作.pdf

文档介绍

文档介绍:该【数据结构实验报告(C语言)单链表的基本操作 】是由【小辰GG1】上传分享,文档一共【8】页,该文档可以免费在线阅读,需要了解更多关于【数据结构实验报告(C语言)单链表的基本操作 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。计算机科学与技术系
实验报告
专业名称计算机科学与技术
课程名称数据结构与算法
项目名称单链表的基本操作
班级
学号
姓名
实验日期
格式要求
实验报告注意格式规范,要求在word中编写,文中不要有空行,统一使
用A4页面。
页边距:、下2cm、、右2cm。
标题:宋体、四号字、加粗、。
正文:宋体、小四号字、。
一、实验目的与要求:
(一)实验目的



(优缺点)和适用环境。
(二)实验要求
,并定义带有头结点的单链表。
、初始化、插入、删除等函数实现。

,操作后要输出操作结果。
、删除、查找的时间和空间复杂度。
二、实验方法:(代码)
#include<>
#include<>
typedefstructPnode
{
intcoef;
intexp;
structPnode*next;
}Polynode;
typedefstructnode
{
intdata;
structnode*next;
}LinkList;
//多项式链表的生成
Polynode*PLcreate(Polynode*H)
{
Polynode*R,*S;
intc,e;
H=(Polynode*)malloc(sizeof(Polynode));
H->exp=-1;
H->next=NULL;//建立空多项式单链表
R=H;//R始终指向单链表的尾,便于尾插法建表
printf("请输入多项式的系数和指数:");
scanf("%d%d",&c,&e);//键入多项式的系数和指数项
while(e!=-1)//若e=-1,则掉膘多项式的输入结束
{
S=(Polynode*)malloc(sizeof(Polynode));
S->coef=c;
S->exp=e;
S->next=NULL;//生成新结点并赋值
R->next=S;//在当前表尾做插入
R=S;
//printf("请继续输入多项式的系数和指数:");
scanf("%d%d",&c,&e);
}
returnH;
}
//两个一元多项式相加
Polynode*polyadd(Polynode*A,Polynode*B)
{
Polynode*p,*q,*temp,*pre;
intsum;
p=A->next;
q=B->next;//p和q分别指向A和B多项式来拿表中的第一个结点
pre=A;//pre指向*p的前驱结点
free(B);//释放多项式B的头结点空间
while(p!=NULL&&q!=NULL)//当两个多项式均未扫描结束时
{
if(p->exp<q->exp)//若果P指向的多子昂是的指数小于q的指数,指针p后移
{
pre=p;
p=p->next;
}
elseif(p->exp==q->exp)//若指数相等,则相应的系数相加
{
sum=p->coef+q->coef;
if(sum!=0)
{
p->coef=sum;
B=q;
pre=p;
p=p->next;
q=q->next;
free(B);
}
else
{
temp=p;
p=p->next;
pre->next=p;
free(temp);
B=q;
q=q->next;
free(B);
}
}
else
{
B=q;
q=q->next;
B->next=p;
pre->next=B;
pre=pre->next;
}
}
if(q!=NULL)
pre->next=q;
//return(A);
print_Pn(A);
}
intprint_Pn(Polynode*A)//输出链表
{
printf("您的链表为:");
printf("%d",A->exp);
while(A->next!=NULL)
{printf("%d%d",A->next->coef,A->next->exp);
A=A->next;
}
printf("\n");
}
//头插法建单链表
LinkList*CreatlistH(LinkList*L)
{
LinkList*head,*S;
intn;
L=(LinkList*)malloc(sizeof(LinkList));
head=L;
L->next=NULL;
scanf("%d",&n);
while(n!=-1)
{
S=(LinkList*)malloc(sizeof(LinkList));
S->data=n;
S->next=L->next;
L->next=S;
//ch=getchar();
scanf("%d",&n);
}
returnhead;
}
//两个有序链表的归并算法
LinkList*Lmerge(LinkList*A,LinkList*B)
{
LinkList*p,*q,*pre;
p=A->next;
q=B->next;//p和q分别指向A和B多项式来拿表中的第一个结点
pre=A;//pre指向*p的前驱结点
free(B);//释放多项式B的头结点空间
while(p!=NULL&&q!=NULL)//当两个多项式均未扫描结束时
{
if(p->data<q->data)//如果*p结点的data值小于*q的data值,指针p后移
{
pre=p;
p=p->next;
}
else//否则,将*q结点插入到链表A中*p结点前
{
B=q;
q=q->next;
B->next=p;
pre->next=B;
pre=pre->next;
}
/*if(q->data>=p->data)//如果*p结点的data值小于*q的data值,指针p后移
{
B=q;
q=q->next;
B->next=p;
pre->next=B;
pre=pre->next;
}
else//否则,将*q结点插入到链表A中*p结点前
{
pre=p;
p=p->next;
}*/
}
if(q!=NULL)//若链表B中还有剩余,则将剩余的结点插入到链表A的表尾
pre->next=q;
//return(p);
print_LS(A);
}
intprint_LS(LinkList*A)//输出链表
{
printf("您的链表为:");
//printf("%d",A->data);
while(A->next!=NULL)
{printf("%d",A->next->data);
A=A->next;
}
printf("\n");
}
voidmain()
{
LinkList*x,*y;
LinkListA,B;
//Polynode*x,*y;
//PolynodeA,B;
printf("多项式相加算法:\n");
printf("*********请输入第一个一元多项式**********\n");
x=PLcreate(&A);
printf("*********请输入第二个一元多项式**********\n");
y=PLcreate(&B);
polyadd(x,y);
printf("\n\n\n\n");
printf("两个链表的归并算法:\n");
printf("请输入第一个有序表:");
x=CreatlistH(&A);
printf("请输入第二个有序表:");
y=CreatlistH(&B);
Lmerge(x,y);
}}
三、实验分析与小结
得分(百分制)

最近更新

小学生连笔画教学设计 3页

2024年xx学院职业倾向性测试题库一套含答案(.. 37页

2024年xx学院职业倾向性测试题库及参考答案(.. 37页

2024年公务员(国考)之行政职业能力测验真题.. 330页

2024年公务员(国考)之行政职业能力测验真题.. 331页

2024年单招职业技能测试题库-精品(黄金题型).. 35页

2024年单招职业技能测试题库及参考答案【突破.. 34页

2024年单招职业技能测试题库含答案(a卷) 35页

2024年单招职业技能测试题库精品(模拟题) 35页

上下实施方案 3页

2024年四川省高职单招职业适应性测试题库含完.. 55页

2024年四川省高职单招职业适应性测试题库精品.. 55页

小学教育教学设计活动记录 3页

2024年山东省高职单招职业适应性测试题库一套.. 44页

小学教学设计教师评语简短 2页

2024年山东省高职单招职业适应性测试题库精品.. 44页

2024年山东省高职单招职业适应性测试题库(夺.. 44页

2024年河南省高职单招职业适应性测试模拟试题.. 57页

2024年河南省高职单招职业适应性测试题库一套.. 56页

2024年河南省高职单招职业适应性测试题库及参.. 56页

2024年河南省高职单招职业适应性测试题库含答.. 56页

2024年河南省高职单招职业适应性测试题库精品.. 56页

加油站整改报告格式范文 加油站整改报告和整.. 5页

产能负荷表格 2页

释经讲章范例 98页

《生活中的纸》综合实践活动方案 5页

【最新】健康素养66条(2023版本) 9页

最新宁波市城乡规划测量管理技术规定 33页

加气砼砌块内墙抹灰技术交底(1) 3页

水肥一体化实施方案 37页