Platon Technologies
neprihlásený Prihlásiť Registrácia
SlovakEnglish
open source software development oslavujeme 10 rokov vývoja otvoreného softvéru! Utorok, 24. jún 2025

Súbor: [Platon] / scripts / prolog / qsort.prolog (stiahnutie)

Revízia 1.1, Mon May 2 10:55:41 2005 UTC (20 years, 1 month ago) by nepto

Several PROLOG examples added into the repository.

%
% qsort.prolog
%
% Developed by Ondrej Jombik <nepto@platon.sk>
% Copyright (c) 2005 Platon SDG, http://platon.sk/
% Licensed under terms of GNU General Public License.
% All rights reserved.
%
% Changelog:
% 2005-05-02 - created
%

% $Platon$

qsort([], []).
qsort([X|Xs], Sorted) :-
    partition(Xs, X, Small, Large),
    qsort(Small, Small1),
    qsort(Large, Large1),
    append(Small1, [X|Large1], Sorted).

partition([], _, [], []).
partition([X|Xs], P, [X|Small], Large) :-
    X < P, partition(Xs, P, Small, Large).
partition([X|Xs], P, Small, [X|Large]) :-
    X >= P,partition(Xs, P, Small, Large).


Platon Group <platon@platon.sk> http://platon.sk/
Copyright © 2002-2006 Platon Group
Stránka používa redakčný systém Metafox
Na začiatok