Siano A e B due insiemi di uguale cardinalità N (cioè con uguale numero di elementi) contenenti ciascuno N numeri interi diversi tra loro.
I numeri dei due insiemi A e B vengono memorizzati, ordinati per valori crescenti, nei due vettori v e w.
Si dica che insieme calcola nel vettore z il seguente codice:
Var v, w : Array[1..N] of Integer; z : Array[1..2*N] of Integer; i, j, k: Integer; While(i <= N) And (j <= N) Do Begin If(v[i] = w[j]) Then Begin i:=i+1; j:=j+1 End Else If(v[i] < w[j]) Then Begin z[k]:=v[i]; k:=k+1; i:=i+1 End Else Begin z[k]:=w[j]; k:=k+1; j:=j+1 End; End; While(i <= N) Do Begin z[k]:=v[i]; k:=k+1; i:=i+1 End; While(j <= N) Do Begin z[k]:=w[j]; k:=k+1; j:=j+1 End;