链表之创建

 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 }

 

posted @ 2013-01-24 16:57  Levi_随云  阅读(276)  评论(0编辑  收藏  举报