建立长度为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<iostream>
#include<algorithm>
using namespace std;
struct node
{
int data;
struct node *next;
};//建立结点的结构体
void creatlist(node *&l,char a[],int m)
{
int i;
node *s,*r;
l=(node *)malloc(sizeof(node));
r=l;
for(i=0;i<m;i++)
{
s=(node *)malloc(sizeof(node));
s->data=a[i];
r->next=s;
r=s;
}
r->next=NULL;
}//利用尾插法建立单链表
void displist(node *l)
{
node *t=l->next;
while(t!=NULL)
{
cout<<t->data<<" " ;
t=t->next;
}
}//打印出单链表
int main()
{
int m,n,i;
char a[200],b[200];//定义两个数组储存两组数据
node *l,*x;//两个指针分别属于两个链表的头节点
cin>>m;
for(i=0;i<m;i++)
{
cin>>a[i];
}
creatlist(l,a,m);
cin>>n;
for(i=0;i<n;i++)
{
cin>>b[i];
}
creatlist(x,b,n);
//建立链表
displist(l);//输出
displist(x);//输出
return 0;
}