本科生实验报告
实验课程 数据结构与算法分析 学院名称 管理科学学院 专业名称 信息与计算科学 学生姓名 学生学号 指导教师 乐千桤 实验地点 6C402 实验成绩
二〇 一四 年 十 月 二〇 一四 年 十二月
实验一 链表合并
1 实验内容
(1) 创建链表并对其进行输出;
(2) 利用指针实现对两个线形链表的合并,并输出其结果。
2 数据结构与算法描述
1)变量及函数的定义
变量/函数名 类 型 说 明 void main () 主函数main() 实现初始化操作,完成对子函数的调用
Node*MergeSList 子函数 定义一个指针函数,返回值类型为NODE类型的一个指针 Node*CreatList() 子函数 创建链表 void outlin(Node *h) 子函数 输出链表的值 2)程序流程图
3 实验数据与实验结果(可用文字描述或贴图的方式进行说明)
1)测试数据
x1= 1 2 3
x2=2 3 5 7
2)实验结果
图1 链表合并的运行结果
4 程序代码清单
#includestdio.h
#includemalloc.h
typedef struct Node{ //定义一个Node的结构体
int data;
Node *next; //*next表示指向链表的后一个元素
}Node;
Node *s,*p;
Node *MergeSList(Node *head1,Node *head2)//定义一个指针函数,返回值类型为NODE类型的一个指针
{
Node *p1=NULL;
Node *p2=NULL;
Node *pcur;
Node *head=NULL;//用于保存Merge之后的链表;
// head=NULL;
if(head1-next-datahead2-next-data)//找到两个链表的两个第一个节点中更小的一个节点
{
head=head1;
p1=head1-next;
p2=head2-next;
}
else
{
head=head2;
p1=head1-next;
p2=head2-next;
}
pcur=head;
while(p1!=NULLp2!=NULL)//遍历两个链表并比较,把更小的值接在pcur后,pcur只是一个临时链表
{
if(p1-datap2-data)
{
pcur-next=p1;
pcur=p1;
p1=p1-next;
}
else if(p1-datap2-data)// {
pcur-next=p2;
pcur=p2;
p2=p2-next;
}
else if(p1-data==p2-data)//如果存在相同,则删除节点
{
p2=p2-next;
}
}
////////////////////////////////////////////////////////////////////////////////
/*循环之后,两个链表要么为都为空,要么其中一个不为空,因为结束循环的条件有限制*/
if(p1!=NULL)//把剩余的节点再接在pcur后
pcur-next=p1;
if(p2!=NULL)
pcur-next=p2;
return head;
}
Node *CreatList()
{
int x;
Node *headcur;
headcur=(Node*)malloc(sizeof(Node));
p=headcur;
printf(x=);
scanf(%d,x);
while(x!=-999)//输入-999代表结束输入
{
s=(Node*)malloc(sizeof(Node));
s-data=x;
s-next=NULL;
p-next=s;
p=s; //把s的地址赋给P的下一个,再把s的地址给p
scanf(%d,x);
}
return headcur;
}
void outlin(Node *h)//输出链表的值
{
Node *p;
p=h-next;
printf(Merged :\n);
while(p!=NULL)
{
printf(%d ,p-data);
p=p-next;
}
printf(\n
您可能关注的文档
最近下载
- 明代宗教信仰与思想控制.docx VIP
- 江苏省南通市2024-2025学年高二上学期期末学业质量监测语文试卷(含答案).pdf VIP
- 国就有成人演出的电影了?想看就要冒生命危险.pdf VIP
- 综合素质练习题及答案.doc VIP
- 2020-2021学年北京高三化学二轮复习 反应原理型简答题(突破二卷)(word版 含答案).docx VIP
- 电力拖动控制线路安装与检修(白银矿冶职业技术学院)知到智慧树答案.docx VIP
- 煤炭巷道掘砌工(高级工)资格考试题库(全真题库).docx VIP
- 影像叙事中情感共鸣生成机制.docx VIP
- 同轴二级圆柱齿轮减速器的设计(硬齿面).doc VIP
- 基于GPU多线程多通道图像高速重构方法、设备及介质.pdf VIP
原创力文档

文档评论(0)