合并两个有序数列成一个新的有序数列。
program unite;
var
m, n, i, pa, pb : integer;
a, b : array[1 .. 50] of integer;
u : array[1 .. 100] of integer;
begin
readln(n, m);
for i := 1 to n do
read(a[i]);
for i := 1 to m do
read(b[i]);
pa := 1;
pb := 1;
for i := 1 to n+m do
begin
if a[pa] > b[pb] then
begin
u[i] := b[pb];
pb := pb+1;
end
else
begin
u[i] := a[pa];
pa := pa+1;
end;
if (pa > n) or (pb > m) then
break;
end;
if pa > n then
for i := i+1 to n+m do
begin
u[i] := b[pb];
pb := pb+1;
end
else
for i := i+1 to n+m do
begin
u[i] := a[pa];
pa := pa+1;
end;
for i := 1 to n+m do
write(u[i], ' ');
readln;
readln;
end.
var
m, n, i, pa, pb : integer;
a, b : array[1 .. 50] of integer;
u : array[1 .. 100] of integer;
begin
readln(n, m);
for i := 1 to n do
read(a[i]);
for i := 1 to m do
read(b[i]);
pa := 1;
pb := 1;
for i := 1 to n+m do
begin
if a[pa] > b[pb] then
begin
u[i] := b[pb];
pb := pb+1;
end
else
begin
u[i] := a[pa];
pa := pa+1;
end;
if (pa > n) or (pb > m) then
break;
end;
if pa > n then
for i := i+1 to n+m do
begin
u[i] := b[pb];
pb := pb+1;
end
else
for i := i+1 to n+m do
begin
u[i] := a[pa];
pa := pa+1;
end;
for i := 1 to n+m do
write(u[i], ' ');
readln;
readln;
end.


浙公网安备 33010602011771号