好文档 - 专业文书写作范文服务资料分享网站

《数据结构》实验报告题1

天下 分享 时间: 加入收藏 我要投稿 点赞

实验一

课程名称:有序链表的合并 班级:嵌入式2班

姓名:张燕 实验名称:线性表的基本

操作

完成日期:10月7日

指导教师:王群芳

实验成绩:

学号:72 实验序号:

一、实验目的及要求

熟练掌握线性表的基本操作在两种存储结构上的实现,其中以链表的操作和应用作为重点内容。

二、实验环境

硬件:计算机 软件:Microsoft Visual C++

三、实验内容

以单链表作存储结构,实现有序表的合并。 四、源程序清单:

#include<> #include<>

typedef struct lnode{ int data;

struct lnode *next; }lnode,*linklist;

void list_create(linklist &L,int sort) {

int i,n,data; linklist last,p;

L=(linklist)malloc(sizeof(lnode)); last=L;

last->next=NULL;

printf(\请输入第%d链表长度:\ scanf(\

printf(\输入线性表中的元素:\ for(i=1;i<=n;i++) {

p=(linklist)malloc(sizeof(lnode));

scanf(\

1

last->next=p; last=p; }

last->next=NULL; } //list_create

void list_marge(linklist &la,linklist &lb,linklist &lc) {

linklist pa,pb,pc;

pc=lc=la; while(pa&&pb) }

pc->next=pa; pc->next=pb;

if(pa->data<=pb->data) { } else { }

pc->next=pb;pc=pb;pb=pb->next; pc->next=pa;pc=pa;pa=pa->next;

pa=la->next;pb=lb->next; {

if(pa) else free(pb); } //list_marge

void print(linklist List) {

linklist p; p=List->next; while(p) {

printf(\

2

p=p->next; }

printf(\ }//print_list

int main() {

linklist L1,L2,L3; list_create(L1,1); list_create(L2,2); printf(\合并前:\\n\ print(L1); print(L2);

printf(\合并后:\\n\ list_marge(L1,L2,L3);

}

五、实验结果:

print(L3); return 0;

六、总结:

通过本次对有序链表合并程序的设计,我清楚地认识到了以数据结构为基础程序设计的设计方法,其中了解到了用顺序表和单链表作为存储结构的优点和不足,学到了用不同方法来设计程序的各种不同的操作;但在实验设计的具体操作中我仍然存在着各种错误,特别是对有序表的合并操作、各种限制条件的问题以及分配存储空间、结点的指向不能很好的掌握;在今后的学习中,我会多读些程序

3

《数据结构》实验报告题1

实验一课程名称:有序链表的合并班级:嵌入式2班姓名:张燕实验名称:线性表的基本操作完成日期:10月7日指导教师:王群芳实验成绩:学号:72实验序号:一、实验目的及要求熟练掌握线性表的基本操作在两种存储结构上的实现,其中以链表的操作
推荐度:
点击下载文档文档为doc格式
5faad9netv5136q5t3t485bn78ar7y00cg0
领取福利

微信扫码领取福利

微信扫码分享