EJEMPLO DE PROLOG
El algoritmo de ordenamiento por mezcla(merge sort) es un algoritmo de ordenamiento externo estable basado en la técnica divide y vencerás. A continuación presentaremos un ejemplo de es tipo de ordenamiento:
Código:
mergesort([],[]).
mergesort([A],[A]).
mergesort([A,B|R],S) :-
split([A,B|R],L1,L2),
mergesort(L1,S1),
mergesort(L2,S2),
merg(S1,S2,S).
split([],[],[]).
split([A],[A],[]).
split([A,B|R],[A|Ra],[B|Rb]) :- split(R,Ra,Rb).
merg(A,[],A).
merg([],B,B).
merg([A|Ra],[B|Rb],[A|M]) :- A =< B, merg(Ra,[B|Rb],M).
merg([A|Ra],[B|Rb],[B|M]) :- A > B, merg([A|Ra],Rb,M).
No hay comentarios.:
Publicar un comentario