[[
✎ pl:prolog:pllib:diff_quicksort
]]
aiWiki
Pokaż stronę
Ostatnie zmiany
Indeks
Zaloguj
Ta strona jest tylko do odczytu. Możesz wyświetlić źródła tej strony ale nie możesz ich zmienić.
====== Diff quicksort ====== {{tag>lists sorting}} ===== Description ===== Quicksort using difference-list **Source**: The Art of Prolog ===== Download ===== Program source code: {{diff_quicksort.pl}} ===== Listing ===== <code prolog> /* quicksort(List,Sortedlist) :- Sortedlist is an ordered permutation of list. */ :- op(40,xfx,\). quicksort(Xs,Ys) :- quicksort_dl(Xs,Ys\[]). quicksort_dl([X|Xs],Ys\Zs) :- partition(Xs,X,Littles,Bigs), quicksort_dl(Littles,Ys\[X|Ys1]), quicksort_dl(Bigs,Ys1\Zs). quicksort_dl([],Xs\Xs). partition([X|Xs],Y,[X|Ls],Bs) :- X =< Y, !, partition(Xs,Y,Ls,Bs). partition([X|Xs],Y,Ls,[X|Bs]) :- X > Y, !, partition(Xs,Y,Ls,Bs). partition([],Y,[],[]). % Program 15.4: Quicksort using difference-lists. </code> ===== Comments =====
pl/prolog/pllib/diff_quicksort.txt
· ostatnio zmienione: 2019/06/27 15:50 (edycja zewnętrzna)
Pokaż stronę
Poprzednie wersje
Menadżer multimediów
Do góry