procedure fusione (var x,y:vett1; var x:vett2); (*array x e y composti da m elementi ciascuno*) var i,j,k:integer (*indici dei vettori x,y e z*) begin i:=1; j:=1; k:=1; while (i<=m) and (j<=m) do begin if (x[i]<=y[j]) then begin z[k]:=x[i]; i:=i+1 end else begin z[k]:=y[j]; j:=j+1 end; k:=k+1 end; if (i<=m) then repeat z[k]:=x[i]; i:=i+1; k:=k+1 until (i>m) else repeat z[k]:=y[j]; j:=j+1; k:=k+1 until (j>m) end;