p16[计算机]数据结构实验二两个循环链表合并成一个循环链表.doc
-
资源ID:3924347
资源大小:14KB
全文页数:2页
- 资源格式: DOC
下载积分:8金币
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
p16[计算机]数据结构实验二两个循环链表合并成一个循环链表.doc
数据结构上机实验二实验报告实验题目:两个有序循环链表合并成一个有序循环链表源程序:#include <stdio.h>#include <stdlib.h>typedef struct Doublelikedlist int data; struct Doublelikedlist *prior; struct Doublelikedlist *next;Doublelikedlist,*Doulinklist;Doulinklist Creatlist_L(int n) Doulinklist L,p; int i;printf("n正在创建双向链表,请输入%d个数字以创建此链表n一个数字一个回车,并从小到大输入n",n); L=(Doulinklist)malloc(sizeof(Doublelikedlist); L->next=L; L->prior=L; for(i=0;i<n;i+) p=(Doulinklist)malloc(sizeof(Doublelikedlist); scanf("%d",&p->data); p->next=L->next; L->next->prior=p; p->prior=L; L->next=p; return(L);Doulinklist Mergelist(Doulinklist L1,Doulinklist L2,Doulinklist L3)/*合并*/ Doulinklist pa,pb,pc; pa=L1->next; pb=L2->next; L3=pc=L1; while(pa!=L1&&pb!=L2) if(pa->data>=pb->data) pc->next=pa; pa->prior=pc; pc=pa;pa=pa->next; else pc->next=pb; pb->prior=pc; pc=pb;pb=pb->next; if(pa!=L1) pc->next=pa;pa->prior=pc; else pc->next=pb;pb->prior=pc; return(L3);void print(Doulinklist L) Doulinklist p; p=L->next; while(p!=L) printf("%d ",p->data); p=p->next; int main() Doulinklist La,Lb,Lc; La=Creatlist_L(6); Lb=Creatlist_L(5); Lc=Mergelist(La,Lb,Lc); print(Lc); getchar();