题目描述
建立长度为n的单链表A和长度为m的单链表B。编程实现将B表链接在A表的尾端,形成一个单链表A。数据类型指定为字符型。
输入
第一行为A表的长度n;
第二行为A表中的数据元素;
第三行为B表的长度m;
第四行为B表中的数据元素。
输出
输出为链接好后的A表中的所有数据元素。
样例输入
4
A B C D
6
1 2 3 4 5 6
样例输出
A B C D 1 2 3 4 5 6
参考程序
#include<stdio.h>
#include<stdlib.h>
typedef struct LNode
{
char date;
struct LNode *next;
}LinkNode;
void CreatNode(LinkNode *&head, int n)
{
LinkNode *p;
head=p=(LinkNode *)malloc(sizeof(LinkNode));
for(int i=1; i<n; i++)
{
scanf("%c ", &p->date);
p->next=(LinkNode *)malloc(sizeof(LinkNode));
p=p->next;
}
scanf("%c", &p->date);
p->next=NULL;
}
void MergeLink(LinkNode *&Z, LinkNode *&B)
{
LinkNode *p, *q, *r;
p=(LinkNode *)malloc(sizeof(LinkNode));
p=Z;
while(p->next!=NULL) p=p->next;
p->next=B;
}
char Printf(LinkNode *A)
{
LinkNode *p;
p=A;
while(p!=NULL)
{
printf("%c ", p->date);
p=p->next;
}
}
int main()
{
int n;
scanf("%d", &n);
scanf("\n");
LinkNode *A;
CreatNode(A, n);
LinkNode *Z;
Z=A;
scanf("\n");
int m;
scanf("%d", &m);
scanf("\n");
LinkNode *B;
CreatNode(B, m);
MergeLink(Z, B);
Printf(Z);
}
注意
该程序仅供学习参考!