Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
|
|
@ -0,0 +1,17 @@
|
|||
let swap ar i j =
|
||||
let tmp = ar.(i) in
|
||||
ar.(i) <- ar.(j);
|
||||
ar.(j) <- tmp
|
||||
|
||||
let stoogesort ar =
|
||||
let rec aux i j =
|
||||
if ar.(j) < ar.(i) then
|
||||
swap ar i j
|
||||
else if j - i > 1 then begin
|
||||
let t = (j - i + 1) / 3 in
|
||||
aux (i) (j-t);
|
||||
aux (i+t) (j);
|
||||
aux (i) (j-t);
|
||||
end
|
||||
in
|
||||
aux 0 (Array.length ar - 1)
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
let () =
|
||||
let ar = [| 3; 1; 7; 2; 6; 5; 4; 9; 8 |] in
|
||||
stoogesort ar;
|
||||
Array.iter (Printf.printf " %d") ar;
|
||||
print_newline()
|
||||
Loading…
Add table
Add a link
Reference in a new issue