赞
踩
结果截图:
源代码:
#include <stdio.h> #include <stdlib.h> #define MAXSIZE 100 #define OK 1 typedef int ElemType; typedef int Status; //定义线性表 typedef struct LNode { ElemType data; struct LNode *next; } LNode,*LinkList; // 初始化 Status InitList (LinkList &L) { L=new LNode; L->next=NULL; return OK; } LinkList pa,pb,pc; LinkList La,Lb,Lc; //合并链表 void MergeList_L(LinkList &La,LinkList &Lb,LinkList &Lc) { pa=La->next; pb=Lb->next; pc=Lc=La; while(pa&&pb) { if(pa->data<=pb->data) { pc->next=pa; pc=pa; if(pa->data==pb->data) pb=pb->next; pa=pa->next; } else { pc->next=pb; pc=pb; pb=pb->next; } } pc->next=pa?pa:pb; delete Lb; } int main() { int i,n; InitList(La); InitList(Lb); printf("输入La的长度并赋值:"); scanf("%d",&n); for(i=0;i<n;i++) { pa=new LNode; scanf("%d",&pa->data); pa->next=La->next; La->next=pa; } pa=La->next; while(pa) { printf("%2d",pa->data); pa=pa->next; } printf("\n"); printf("请输入Lb的长度并赋值:"); scanf("%d",&n); for(i=0;i<n;i++) { pb=new LNode; scanf("%d",&pb->data); pb->next=Lb->next; Lb->next=pb; } pb=Lb->next; while(pb) { printf("%2d",pb->data); pb=pb->next; } printf("\n"); MergeList_L(La,Lb,Lc); pc=La->next; printf("合并后的链表为\n"); while(pc) { printf("%2d",pc->data); pc=pc->next; } printf("\n"); }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。