#include <stdio.h>
#include <stdlib.h>
#define MAX 100
typedef struct
{
int data[MAX];
int len;
}SqList;
void initSqList(SqList* pL)
{
int i, n, m;
scanf("%d", &n);
getchar();
pL->len = n;
for (i = 0; i < n; i++)
{
scanf("%d", &m);
getchar();
pL->data[i] = m;
}
}
void unionSqList(SqList* pL1, SqList* pL2, SqList* pL3)
{
int i = 0, j = 0, k = 0;
while (i < pL1->len && j < pL2->len)
{
if (pL1->data[i] < pL2->data[j])
{
pL3->data[k] = pL1->data[i];
i++;
k++;
}
else
{
pL3->data[k] = pL2->data[j];
j++;
k++;
}
}
while (i < pL1->len)
{
pL3->data[k] = pL1->data[i];
i++;
k++;
}
while (j < pL2->len)
{
pL3->data[k] = pL2->data[j];
j++;
k++;
}
pL3->len = k;
}
void dispSqList(SqList* pL)
{
int i;
for (i = 0; i < pL->len; i++)
printf("%d ", pL->data[i]);
}
int main()
{
SqList* pLA, * pLB, * pLC;
pLA = (SqList*)malloc(sizeof(SqList));
initSqList(pLA);
pLB = (SqList*)malloc(sizeof(SqList));
initSqList(pLB);
pLC = (SqList*)malloc(sizeof(SqList));
unionSqList(pLA, pLB, pLC);
dispSqList(pLC);
return 0;
}
SWUST OJ 941 有序顺序表的合并操作的实现
于 2022-04-14 18:39:56 首次发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)