Toggle navigation
?
users online
Logout
Open hangout
Open chat for current file
% nacteni: /* ['2.5.1_10.pl']. */ qsort([],[]). qsort([H],[H]) :- !. qsort([H|T],L) :- divide(H,T,M,V), qsort(M,M1), qsort(V,V1), append(M1,[H|V1],L). divide(_,[],[],[]). divide(H,[K|T],[K|M],V) :- K=<H, !, divide(H,T,M,V). divide(H,[K|T],M,[K|V]) :- divide(H,T,M,V). % demonstracni vypis write_long_list([X1,X2,X3,X4,X5,X6,X7,X8,X9,X10|T]) :- write('['), write(X1), write(','), write(X2), write(','), write(X3), write(','), write(X4), write(','), write(X5), write(','), write(X6), write(','), write(X7), write(','), write(X8), write(','), write(X9), write(','), write(X10), write(',...,'), last(T,X), write(X), write(']'). start:- write('Radici algoritmus QuickSort'),nl,nl, write('Vysledek volani "qsort([5, 2, 8, 2, 654, 8, 3, 4], L)":'),nl, qsort([5, 2, 8, 2, 654, 8, 3, 4], L), write('L = '),write(L),nl, write('Vysledek volani "qsort([... 300 000 nahodnych cisel...], L2)":'),nl, length(Xs, 300000), maplist(random(0,1000000), Xs), qsort(Xs, L2), write('L2 = '),write_long_list(L2),nl. ?-start.
true