将两个链表合并,是面试题中经常遇到的编程题,工作中也会少许用到,难度不大。
下文中是将一个A链表和B链表合并在新的C链表中。
#include<stdio.h>
#include<stdlib.h>
typedef struct node* List;
struct node{
int data;
List next;
};
//合并两个链表到新的链表里面
List ReadList()
{
List L,t,head;
int data,N;
head = (List)malloc(sizeof(struct node));
if(head == NULL)
{
printf("No enough to mallocate!\n");
exit(0);
}
t = head;
scanf("%d",&N);
while(N--)
{
L = (List)malloc(sizeof(struct node));
scanf("%d",&data);
L->data = data;
t->next = L;
t = L;
}
t->next = NULL;
return head;
}
/*List ReadList()
{
List L,t,head;
int N;
head = (List)malloc(sizeof(struct node));
head->next = NULL;
t = head;
scanf("%d",&N);
while(N--)
{
L = (List)malloc(sizeof(struct node));
scanf("%d",&(L->data));
L->next = t->next;
t-