资源预览内容
第1页 / 共2页
第2页 / 共2页
亲,该文档总共2页全部预览完了,如果喜欢就下载吧!
资源描述
数据结构上机实验二实验报告实验题目:两个有序循环链表合并成一个有序循环链表源程序:#include #include 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;idata); 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();
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号