#include<iostream.h>
typedef struct node
{
int data;
node *next;
}*ptrn;
ptrn linked1()
{
int da;
ptrn head,p1,p2; //一个头结点,一个新结点,一个尾结点;
cout<<"请输入链表1中的数据,-1代表输入完毕"<<endl;
head=0;
for(int i=0;;i++)
{
cin>>da;
p1=new node;
if(da==-1)
break;
p1->data=da;
if(head==0)
{
head=p1;
p2=p1; //赋的是地址; 两个链表连接;
}
else
{
p2->next=p1;
p2=p1;
}
}
if(head)
p2->next=0;
return head;
}
ptrn linked2()
{
int da;
ptrn head,p3,p2;
cout<<"请输入链表2中的数据,-1代表输入完毕"<<endl;
head=0;
for(int i=0;;i++)
{
cin>>da;
p3=new node;
if(da==-1)
break;
else
p3->data=da;
if(head==0)
{
head=p3;
p2=p3; //赋的是地址;
}
else
{
p2->next=p3;
p2=p3;
}
}
if(head)
p2->next=0;
return head;
}
ptrn joint(ptrn one,ptrn two)
{
ptrn temp;
temp=one;
for(int i=0;;i++)
{
if(temp->next!=0)
{
temp=temp->next;
}
else
break;
}
temp->next=two;
return one;
}
void accessnode(ptrn b)
{
ptrn te;
te=b;
if(te==0)
cout<<"此链表无内容"<<endl;
else
for(int i=0;;i++)
{
cout<<te->data<<endl;
te=te->next;
if(te==0)
break;
else
continue;
}
}
void main()
{
ptrn head1=linked1();
ptrn head2=linked2();
ptrn head3=joint(head1,head2);
accessnode(head3);
}