题目:
请设计一个能够将有序顺序表LA,LB进行合并的算法,要求合并后的顺序表LC依然有序。
例如:
LA的元素 1 3 5 7
LB的元素 2 4
LC的元素 1 2 3 4 5 7
其中,LA和LB的长度不超过1000,当中的元素为非递减排序。输入格式:
第一行输入LA的长度
第二行输入LA的元素
第三行输入LB的长度
第四行输入LB的元素
输出格式:
输入合并后顺序表中各元素的值,值之间用一个空格间隔。
输入样例1:
4 1 3 5 7 2 2 4输出样例1:
1 2 3 4 5 7输入样例2:
6 1 2 3 4 5 6 3 7 8 9输出样例2:
1 2 3 4 5 6 7 8 9
代码如下:
#include <stdio.h>
#include <stdlib.h> //要使用的malloc()函数定义在这个头文件中 ,动态分配内存
#define MAX 2000
typedef struct Seq
{
int elem[MAX];
int length;
} RSeq;
RSeq init(int arr[], int len) // 初始化表
{
RSeq *R;
R = (struct Seq *)malloc(sizeof(struct Seq));
R->l

本文介绍了一个算法,用于合并两个给定的非递减有序顺序表LA和LB,保证合并后的顺序表LC也保持有序。通过初始化、比较元素并逐步填充LC,实现了合并操作。
&spm=1001.2101.3001.5002&articleId=134030937&d=1&t=3&u=a1ab799d1f264e7a8ac6692534219f6d)
5476

被折叠的 条评论
为什么被折叠?



