本文共 1200 字,大约阅读时间需要 4 分钟。
#include#include struct Node{ int Data; struct Node *next;};typedef struct Node *List;typedef struct Node Node;/*链表的建立*/List Read(){ int N; scanf("%d", &N); List L = (List)malloc(sizeof(Node)); List tmp = L; for (int i = 0; i < N; i++) //尾插 { List p = (List)malloc(sizeof(Node)); scanf("%d", &p->Data); //默认输入顺序从小到大输入 p->next = NULL; tmp->next = p; tmp = p; } return (L);}List Merge(List L1, List L2){ List L = (List)malloc(sizeof(Node)); List p1 = L1->next; List p2 = L2->next; List p3; p3 = L1; while (p1&&p2) { if (p1->Data <= p2->Data) { p3->next = p1; p3 = p1; p1 = p1->next; } else { p3->next = p2; p3 = p2; p2 = p2->next; } } p3->next = p1 ? p1 : p2; L->next = L1->next; return(L);}void Print(List L){ List p = L->next; if (!p) printf("NULL "); while (p) { printf("%d ", p->Data); p = p->next; }}int main(){ List L1, L2, L; L1 = Read(); L2 = Read(); L = Merge(L1, L2); Print(L); system("pause"); return 0;}
转载地址:http://okyci.baihongyu.com/