Initial data commit

This commit is contained in:
Ingy döt Net 2023-07-01 11:58:00 -04:00
parent 72d218235f
commit f23f22d71c
199087 changed files with 3378941 additions and 0 deletions

View file

@ -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())
}