1 /*
2 头尾插创建链表。
3
4 */
5
6
7 #include <stdio.h>
8 #include <stdlib.h>
9 #include "sys/malloc.h"
10
11 void CreateList(LinkList *L,int n){
12 int i;
13 LinkList p;
14 *L=(LinkList)malloc(sizeof(struct LNode));
15 (*L)->next=NULL;
16 printf("Please input Link_len = %d : \n",n);
17 for(i=n;i>0;--i){
18 p=(LinkList)malloc(sizeof(struct LNode));
19 scanf("%d",&p->data);
20 p->next=(*L)->next;
21 (*L)->next=p;
22 }
23 }
24
25 void CreatList1(LinkList *L,int n){
26 int i;
27 LinkList p,q;
28 (*L)=(LinkList)malloc(sizeof(struct LNode));
29 (*L)->next=NULL;
30 q=(*L);
31 printf("Please input Link_len = %d : \n",n);
32 for(i=n;i>0;--i){
33 p=(LinkList)malloc(sizeof(struct LNode));
34 scanf("%d",&p->data);
35 q->next=p;
36 q=q->next;
37 }
38 p->next=NULL;
39 }
40
41 void MergeList(LinkList La,LinkList Lb,LinkList *Lc){
42 LinkList pa=La->next;pb=Lb->next;pc;
43 Lc=pc=La;
44 while(pa&&pb){
45 if(pa->data<=pb->data){
46 pc->next=pa;
47 pc=pa;
48 pa=pa->next;
49 }
50 else{
51 pc->next=pb;
52 pc=pb;
53 pb=pb->next;
54 }
55 pc->next=pa?pa:pb;
56 free(Lb);
57 Lb=NULL;
58 }
59 }