June 2018 Update

This commit is contained in:
Ingy döt Net 2018-06-22 20:57:24 +00:00
parent ba8067c3b7
commit 22f33d4004
5278 changed files with 84726 additions and 14379 deletions

View file

@ -0,0 +1,32 @@
swap := proc(arr, a, b)
local temp;
temp := arr[a]:
arr[a] := arr[b]:
arr[b] := temp:
end proc:
newGap := proc(gap)
local new;
new := trunc(gap*10/13);
if (new < 1) then return 1; end if;
return new;
end proc;
combsort := proc(arr, len)
local gap, swapped,i, temp;
swapped := true:
gap := len:
while ((not gap = 1) or swapped) do
gap := newGap(gap):
swapped := false:
for i from 1 to len-gap by 1 do
if (arr[i] > arr[i+gap]) then
temp := arr[i]:
arr[i] := arr[i+gap]:
arr[i+gap] := temp:
swapped:= true:
end if:
end do:
end do:
end proc:
arr := Array([17,3,72,0,36,2,3,8,40,0]);
combsort(arr, numelems(arr));
arr;