下载此文档

数据结构C语言单链表的归并实验报告.doc


文档分类:IT计算机 | 页数:约5页 举报非法文档有奖
1/5
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/5 下载此文档
文档列表 文档介绍
一、实验目的
1.掌握单链表的基本操作:插入、删除、查找以及表的合并等运算。
掌握运用C语言上机调试单链表的基本方法。
二、实验任务
,均以单链表作为存储结构。编写算法将A表和B表归并成一个按元素值递减(即非递增有序,允许值相同)排列的线性表C,并要求利用原表(即A表和B表)节点空间存放表C
三、程序流程图
开始
线性表A
线性表B
定义头指针p,q
定义变量指针 r
p->date
<q->date
last->next=p
last->next=q
p->next=s
结束
程序流程图
r=p
last=r
r=p p=p->next
last=A
last->next= NULL
yes
no
四、测试过程及结果
五、总结
1.程序特点:最小化、模块化、while循环。
单链表特点:动态分配内存、必须从已知指针逐一查找数据、通过改变数据间的链接改变顺序。
附录程序清单
#include<>
#include<>
struct node{
int date;
struct node *next;
};
typedefstruct node NODE;
void ADD(NODE *A,NODE *B)
{
NODE *p,*q,*r,*last;
p=A->next;
q=B->next;
last=A;
last->next= NULL;
while(p&&q)
{
if(p->date<q->date)
{
r=p;
p=p->next;
}
else
{
r=q;
q=q->next;
}
r->next=last->next;
last->next=r;
last=r;
}
if(p)
last->next=p;
else
last->next=q;
B->next =NULL;
}
void creatlink1(NODE *A)
{
NODE *s,*p=A;
intnum;
scanf("%d",&num);
while(num!=0)
{
s=(NODE*)malloc(sizeof(NODE));
s->date=num;
p->next=s;
p=s;
scanf("%d",&num);
}
p->next=NULL;
}
void creatlink2(NODE *B)
{
NODE *s,*p=B;
intnum;
scanf("%d",&num);
while(num!=0)
{
s=(NODE*)malloc(sizeof(NODE));
s->date=num;
p->next=s;
p=s;
scanf("%d",&num);
}
p->next=NULL;
}
void revers

数据结构C语言单链表的归并实验报告 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数5
  • 收藏数0 收藏
  • 顶次数0
  • 上传人miaoshen1985
  • 文件大小54 KB
  • 时间2021-12-03