Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
|
|
@ -0,0 +1,34 @@
|
|||
bundle Default {
|
||||
class ShellSort {
|
||||
function : Main(args : String[]) ~ Nil {
|
||||
a := [1, 3, 7, 21, 48, 112,336, 861, 1968, 4592, 13776,33936, 86961, 198768, 463792, 1391376,3402672, 8382192, 21479367, 49095696, 114556624,343669872, 52913488, 2085837936];
|
||||
Shell(a);
|
||||
each(i : a) {
|
||||
IO.Console->Print(a[i])->Print(", ");
|
||||
};
|
||||
IO.Console->PrintLine();
|
||||
}
|
||||
|
||||
function : native : Shell(a : Int[]) ~ Nil {
|
||||
increment := a->Size() / 2;
|
||||
while(increment > 0) {
|
||||
for(i := increment; i < a->Size(); i += 1;) {
|
||||
j := i;
|
||||
temp := a[i];
|
||||
while(j >= increment & a[j - increment] > temp) {
|
||||
a[j] := a[j - increment];
|
||||
j -= increment;
|
||||
};
|
||||
a[j] := temp;
|
||||
};
|
||||
|
||||
if(increment = 2) {
|
||||
increment := 1;
|
||||
}
|
||||
else {
|
||||
increment *= (5.0 / 11);
|
||||
};
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue