Skip to content

Instantly share code, notes, and snippets.

@rrmckinley
Created November 25, 2013 05:59
Show Gist options
  • Save rrmckinley/7636967 to your computer and use it in GitHub Desktop.
Save rrmckinley/7636967 to your computer and use it in GitHub Desktop.
void testSort(UnivInteger len) {
// For Random
val mult = 7**5;
val md = 2**31 - 1;
var ran = Random.start(len, mult, md);
println("Seed = " + len + ", mult = " + mult + ", md = " + md);
type MySorter is Sorting<Vector<UnivInteger>>;
var Vector<UnivInteger> vec = [];
for i in 0..<len {
vec |= ran.next() mod 100;
}
var vec2 = vec;
println("Before sort, vec = ");
for i in 0 ..< vec.length() forward {
print(" " + vec[i]);
if i < vec.length() {
print(",");
if i mod 10 == 9 {
println();
}
}
}
println();
MySorter.quicksort(vec);
{> (for all i in 1 ..< vec.length() => vec[i-1] <= vec[i]) <}
println("After sort, vec = ");
for i in 0 ..< vec.length() forward {
print(" " + vec[i]);
if i < vec.length() {
print(",");
if i mod 10 == 9 {
println();
}
}
}
println();
MySorter.quicksort(vec2);
println("After 2nd sort, vec2 = ");
for i in 0 ..< vec2.length() forward {
print(" " + vec2[i]);
if i < vec2.length() {
print(",");
if i mod 10 == 9 {
println();
}
}
}
println();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment