A continuación un procedimiento que permite ordenar una matriz de n enteros utilizando el método de ordenamiento por fusión:
Procedure Ordenamiento_Fusion (Var t : TAB; g, d : integer);
Var
m, i, j, k : integer;
s : TAB;
Begin
If d > g Then
Begin
m := (g + d) Div 2;
Ordenamiento_Fusion (t, g, m);
Ordenamiento_Fusion (t, m + 1, d);
For i := m DownTo g Do
s[i] := t[i];
For j := m + 1 To d Do
s[d + m + 1 - j] := t[j];
i := g; j := d;
For k := g To d Do
Begin
If s[i] < s[j] Then
Begin
t[k] := s[i];
i := i + 1;
End
Else
Begin
t[k] := s[j];
j := j - 1;
End;
End;
End;
End;
Véase también
Comunidad de asistencia y consejos.
El artículo original fue escrito por
ZOUARI. Traducido por
Carlos-vialfa.