June 2018 Update
This commit is contained in:
parent
ba8067c3b7
commit
22f33d4004
5278 changed files with 84726 additions and 14379 deletions
|
|
@ -0,0 +1,29 @@
|
|||
swap := proc(arr, a, b)
|
||||
local temp := arr[a]:
|
||||
arr[a] := arr[b]:
|
||||
arr[b] := temp:
|
||||
end proc:
|
||||
quicksort := proc(arr, low, high)
|
||||
local pi:
|
||||
if (low < high) then
|
||||
pi := qpart(arr,low,high):
|
||||
quicksort(arr, low, pi-1):
|
||||
quicksort(arr, pi+1, high):
|
||||
end if:
|
||||
end proc:
|
||||
qpart := proc(arr, low, high)
|
||||
local i,j,pivot;
|
||||
pivot := arr[high]:
|
||||
i := low-1:
|
||||
for j from low to high-1 by 1 do
|
||||
if (arr[j] <= pivot) then
|
||||
i++:
|
||||
swap(arr, i, j):
|
||||
end if;
|
||||
end do;
|
||||
swap(arr, i+1, high):
|
||||
return (i+1):
|
||||
end proc:
|
||||
a:=Array([12,4,2,1,0]);
|
||||
quicksort(a,1,5);
|
||||
a;
|
||||
Loading…
Add table
Add a link
Reference in a new issue