Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
|
|
@ -0,0 +1,42 @@
|
|||
import extensions;
|
||||
import system'math;
|
||||
import system'routines;
|
||||
|
||||
extension op
|
||||
{
|
||||
combSort()
|
||||
{
|
||||
var list := self.clone();
|
||||
|
||||
real gap := list.Length;
|
||||
bool swaps := true;
|
||||
while (gap > 1 || swaps)
|
||||
{
|
||||
gap /= 1.247330950103979r;
|
||||
if (gap<1) { gap := 1 };
|
||||
|
||||
int i := 0;
|
||||
swaps := false;
|
||||
while (i + gap.RoundedInt < list.Length)
|
||||
{
|
||||
int igap := i + gap.RoundedInt;
|
||||
if (list[i] > list[igap])
|
||||
{
|
||||
list.exchange(i,igap);
|
||||
swaps := true
|
||||
};
|
||||
i += 1
|
||||
}
|
||||
};
|
||||
|
||||
^ list
|
||||
}
|
||||
}
|
||||
|
||||
public program()
|
||||
{
|
||||
var list := new int[]{3, 5, 1, 9, 7, 6, 8, 2, 4 };
|
||||
|
||||
console.printLine("before:", list.asEnumerable());
|
||||
console.printLine("after :", list.combSort().asEnumerable())
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue