7-1 两个有序链表序列的合并 (20 分)
已知两个非降序链表序列S1与S2,设计函数构造出S1与S2合并后的新的非降序链表S3。
输入格式: 输入分两行,分别在每行给出由若干个正整数构成的非降序序列,用−1表示序列的结尾(−1不属于这个序列)。数字用空格间隔。
输出格式: 在一行中输出合并后新的非降序链表,数字间用空格分开,结尾不能有多余空格;若新链表为空,输出NULL。
输入样例:
1 3 5 -1
2 4 6 8 10 -1
输出样例:
1 2 3 4 5 6 8 10
注意
非降序定义:a(n+1)≥an
出现错误时有参照网络代码
仅作为个人练习记录使用
#include <stdio.h>
#include <stdlib.h>
typedef struct Node *List;
typedef struct Node *Ptr;
struct Node
{
int Data;
Ptr next;
};
int main()
{
List L1, L2, L3;
List p1, p2, p3, p4;
List temp;
int flag=0;
int e;
L1 = (List)malloc(sizeof(struct Node));
L1->next = NULL;
p1 = L1;
scanf("%d", &e);
if