Viz Jodik, principialne
Kdyz vis, ze je to serazene, tak ti staci na zacatku nacist prvni hodnotu. A z tech dvou zapsat tu, ktera je mensi a nacist dalsi, dokud nenarazis na konec souboru. Na konci pak bude treba zapsat vsechny hodnoty ze zbyvajici souboru.
Principialne (pascal kod ale nemusi byt spravne)
var
a, b, i, j, k, konec0, konec1 : integer;
soubor0: array[0..2] of integer;
soubor1: array[0..4] of integer;
soubor2: array[0..10] of integer;
konec0:=3; soubor0[0]:=3; soubor0[1]:=4; soubor0[2]:=5;
konec1:=5; soubor1[0]:=1; soubor1[1]:=3; soubor1[2]:=5; soubor1[3]:=6; soubor1[4]:=7;
i := 0; j := 0; k := 0;
cyklus
{
a = soubor0[i]; b := soubor1[j];
if (a<b) {soubor2[k] := a; k++; i++;} else {soubor2[k] := b; k++; j++;}
if (i>konec0 || j>konec1) {break;}
}
if (i>konec0) {cyklus {soubor2[k] := soubor1[j]; j++; if (j>konec1) break;}}
else {cyklus {soubor2[k] := soubor0[i]; i++; if (i>konec0) break;}}