Sorting algorithms/Bubble sort: Difference between revisions

Content added Content deleted
Line 2,510: Line 2,510:
bubblesort(Len, In, Out) :-
bubblesort(Len, In, Out) :-
bubble(Len, In, Bubbled, SortFlag), % bubble the list
bubble(Len, In, Bubbled, SortFlag), % bubble the list
(SortFlag=sorted -> !, Out=Bubbled; % list is already sorted
(SortFlag=sorted -> Out=Bubbled; % list is already sorted
SegLen is Len - 1, !, % one fewer to process
SegLen is Len - 1, % one fewer to process
writef('bubbled=%w\n', [Bubbled]), % show progress
writef('bubbled=%w\n', [Bubbled]), % show progress
bubblesort(SegLen, Bubbled, Out)).
bubblesort(SegLen, Bubbled, Out)).