链表
建立长度为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; }

浙公网安备 33010602011771号