链表

建立长度为n的线性表的链表类SeqList,长度n通过和n个数据元素通过cin输入。 要求: 1)调用Insert函数,建立长度为n的链表A,  2)建立长度为m的链表B,并编写函数实现单链表类LinList的对象B连接到单链表类LinList的对象A的尾部:Void  Concatenate(LinList& A, LinList& B)。并输出链接后的链表的所有数据元素。  用的g++才能对

Description
建立长度为n的线性表的链表类SeqList,长度n通过和n个数据元素通过cin输入。  要求: 1)调用Insert函数,建立长度为n的链表A,  2)建立长度为m的链表B,并编写函数实现单链表类LinList的对象B连接到单链表类LinList的对象A的尾部:Void  Concatenate(LinList& A, LinList& B)。并输出链接后的链表的所有数据元素。 
Input
输入共有四行,第一行是一个整数n,表示线性表A的长度;  第二行输入n个数据元素; 第三行是一个整数m,表示线性表B的长度; 第四行输入m个数据元素。 
Output
输出A和B链接后的所有数据 Sample  Input
5 1 2 3 4 5 6 11 22 33 44 55 66 
Sample  Output

1 2 3 4 5 11 22 33 44 55 66

 

#include<stdio.h>
#include<stdlib.h>
struct node
{
int data;
node *next;
};
node *head=(node *)malloc(sizeof(node)),*b=head,*c=head;//记住肯定要给head指针所指内容开辟一个空间 而且不能给其赋值。。因为head在插入是为头指针,123插入0不要头指针咋办呢?
void init()
{
head->next=NULL;
}
void insert(int data)
{
b=(node *)malloc(sizeof(node));
b->data=data;
c->next=b;
c=b;
c->next=NULL;
}
void pri()
{
node *d=head->next;
while(1)
{
if(d->next==NULL)
{
printf("%d\n",d->data);
break;
}
else
{
printf("%d ",d->data);
d=d->next;
}
}
}

int main()
{
int i,m,n,temp;
init();
scanf("%d",&m);
for(i=0;i<m;i++)
{
scanf("%d",&temp);
insert(temp);
}
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&temp);
insert(temp);
}
pri();
return 0;
}

 

posted @ 2014-05-15 19:02  何人之名  阅读(148)  评论(0)    收藏  举报