- 6
- 0
- 约3.88千字
- 约 6页
- 2017-06-02 发布于河南
- 举报
约瑟夫C语言实现
《数据结构》实验报告
班姓 名学 号2012/10/10
实验题目:合并两个有序循环链表。
实验目的:学会建立有序循环链表,并进行链的相关操作。
实验内容:建立为两个带有头结点的有序循环链表,将这两个链表合并为一个带头结点的有序循环链表。
一、需求分析
1、本演示程序中,要建立的两个链表节点数目n是任意的,首先输入一个值给要建立的节点数,然后按从小到大的顺序依次输入每个节点的数值。程序应能自动保存每个链表的节点数目和每个节点的数值。程序将两个链表合并为一个节点值从小到大排列的链表。
2、演示程序以用户和计算机的对话方式执行,即在计算机终端显示“提示信息”之后,由用户在键盘输入相应数据(即要建立链表的节点数目和每个节点的数值),链表由程序自动生成,并完成合并。
3、程序执行的命令包括:
(1)构造链表;(2)输入数据;(3)合并成新的链表;(4)输出链表;(5)结束。
4、数据测试
第一个链表n=3,每个节的点数据依次是1 3 5;第二个链表n=4,每个节点的数据2 4 6 7;则正确的输出为1 2 3 4 5 6 7。
二、概要设计
为了实现上述操作,应以单项循环链表为存储结构。
基本操作
Jianli ( )
操作结果:建立一个单项循环链表;
Shuchu ( )
操作结果:输出单项循环链表;
Hebing ( )
操作结果:实现连个单项循环链表合并为一个单项循环链表。
本程序包括四个模块:
构造链表模块;
输出链表模块;
合并链表模块;
主程序模块。
3、主程序流程:
构造两个链表—依次输出两个链表—两个链表的合并—输出合并链表
4、模块间层次关系
三、详细设计
1、元素类型、节点类型和指针类型
//链表定义//
typedef int ElemType;
typedef struct Lnode
{
ElemType data; //存储数据
struct Lnode *next; //存数下一个节点的坐标
}LinkList;
每个模块的分析
构造链表并输入每个节点数据模块
void jianli(LinkList *L,int n)
{
LinkList *s,*r;
int i;
/ /建立循环链表
L=(LinkList *)malloc(sizeof(LinkList));
L-next=L;
r=L;
for(i=0;in;i++)
//申请新节点存入数据进入链表中
{
s=(LinkList *)malloc(sizeof(LinkList));
printf(输入新节点的数据:\n);
scanf(%d,s-data);
r-next=s;
r=s;
}
r-next=L;
}
输出链表模块
void shuchu(LinkList *L)
{
LinkList *p=L-next;
// 输出链表数据
while (p!=L)
{
printf(%d ,p-data);
p=p-next;
}
printf(\n);
}
(3)合并链表模块
void hebing(LinkList *list1,LinkList *list2,LinkList *list3)
{
LinkList *p1,*p2,*p3;
//建立新的链表
list3=(LinkList *)malloc(sizeof(LinkList));
list3-next=list3;
p3=list3;
p1=list1-next;
p2=list2-next;
//两个链表均有值时的比较两个值的大小后从小到大连入新链表内
while(p1!=list1p2!=list2)
{
if(p1-data=p2-data)
{
p3-next=p1;
p1=p1-next;
p3=p3-next;
}
else
{
p3-next=p2;
p2=p2-next;
p3=p3-next;
}
}
//一个链表结束一个未结束将未结束链表连到新链表中
if(p2==list2)
p3-
您可能关注的文档
最近下载
- 2025届高考语文专题复习:散文回归教材之选择性必修中册 课件(共34张PPT).ppt.pptx VIP
- 【基恩士】IG 系列 用户手册 (简体中文).pdf VIP
- 矿山环境综合整治及固废资源综合利用建设项目监理工作报告.docx VIP
- 《民航市场营销》全套PPT课件.pptx
- 2025届高考语文专题复习:小说回归教材之选择性必修中册.pptx VIP
- 《毕业五十周年同学聚会倡议书》.docx VIP
- 养羊讲座(羊的营养和饲料配制).ppt VIP
- L09J130-公共建筑节能保温构造详图.docx VIP
- 第五版FMEA表单模板(DFMEA&PFMEA).pdf VIP
- 2025贵州省考申论B卷真题及答案2025.doc VIP
原创力文档

文档评论(0)