SWUST OJ(954)

单链表的链接

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 
 4 typedef struct LinkNode //单链表节点结构的定义
 5 {
 6     char data;
 7     struct LinkNode *next;
 8 }LinkNode;
 9 
10 void InitLinkList(LinkNode * &L)
11 {
12     /*单链表的初始化*/
13     L = (LinkNode*)malloc(sizeof(LinkNode));
14     L->next = NULL;
15 }
16 
17 void CreateLinkList(LinkNode *&L, int n,char *num)
18 {
19     /*采用尾插法创建单链表*/
20     LinkNode* r = L;
21     for (int i = 0; i < n; ++i)
22     {
23         LinkNode * p =(LinkNode*)malloc(sizeof(LinkNode));
24         p->data = num[i];
25         p->next = r->next;
26         r->next = p;
27         r = p;
28     }
29 }
30 
31 void DisList(LinkNode *L)
32 {
33     /*单链表的输出*/
34     LinkNode *l = L->next;
35     while(l)
36     {
37         printf("%c ",l->data);
38         l = l->next;
39     }
40 }
41 
42 void MergeList(LinkNode *&L, LinkNode* L1)
43 {
44     LinkNode * en = L;
45     while(en->next)
46     {
47         en = en->next;
48     }
49     en->next = L1->next;
50 }
51 
52 
53 int main(int argc, char const *argv[])
54 {
55     /*int n = 5;
56     int num[]={1,2,3,4,5};*/
57     int n, n1;
58     char *num, *num1;
59 
60     scanf("%d",&n);
61     num =(char*)malloc(n*sizeof(char));
62 
63     for (int i = 0; i < n; ++i)
64     {
65         scanf(" %c",&num[i]);
66     }
67 
68     scanf("%d",&n1);
69     num1 =(char*)malloc(n1*sizeof(char));
70 
71     for (int i = 0; i < n1; ++i)
72     {
73         scanf(" %c",&num1[i]);
74     }
75 
76     LinkNode *L, *L1;
77     InitLinkList(L);
78     InitLinkList(L1);
79     CreateLinkList(L,n,num);
80     CreateLinkList(L1,n1,num1);
81     MergeList(L,L1);
82     DisList(L);
83     return 0;
84 }
原文地址:https://www.cnblogs.com/Ghost4C-QH/p/10491917.html