Programozási tételek: Összefuttatás
Feladat
Bemenet
Adatok két rendezett sorozata tömbben, fájlban vagy standard bemeneten
($X[1], X[2], \ldots, X[M]$ és $Y[1], Y[2], \ldots, Y[N]$).
Kimenet
A két sorozat (mint halmaz) rendezett uniója a Z[] tömbben. Tehát azok az elemek, amelyek mindkét sorozatban szerepelnek, csak egyszer kerülnek be Z-be.
Algoritmus
Adatok tömbben
i := 1; j := 1; DBZ := 0
Ciklus amíg i <=M és j <= N
DBZ := DBZ + 1
Elágazás
X[i] < Y[j] esetén Z[DBZ] := X[i]; i := i + 1
X[i] = Y[j] esetén Z[DBZ] := X[i]; i := i + 1; j := j + 1
X[i] > Y[j] esetén Z[DBZ] := Y[j]; j := j + 1
Elágazás vége
Ciklus vége
Ciklus amíg i <= M
DBZ := DBZ + 1; Z[DBZ] := X[i]; i := i + 1
Ciklus vége
Ciklus amíg j <= N
DBZ := DBZ + 1; Z[DBZ] := Y[j]; j := j + 1
Ciklus vége
Példák
Feladatok