Sorting algorithms/Stooge sort: Difference between revisions

Rename Perl 6 -> Raku, alphabetize, minor clean-up
(Rename Perl 6 -> Raku, alphabetize, minor clean-up)
Line 229:
return 0;
}</lang>
 
=={{header|C sharp|C#}}==
<lang C sharp|C#> public static void Sort<T>(List<T> list) where T : IComparable {
if (list.Count > 1) {
StoogeSort(list, 0, list.Count - 1);
}
}
private static void StoogeSort<T>(List<T> L, int i, int j) where T : IComparable {
if (L[j].CompareTo(L[i])<0) {
T tmp = L[i];
L[i] = L[j];
L[j] = tmp;
}
if (j - i > 1) {
int t = (j - i + 1) / 3;
StoogeSort(L, i, j - t);
StoogeSort(L, i + t, j);
StoogeSort(L, i, j - t);
}
}</lang>
 
=={{header|C++}}==
Line 277 ⟶ 297:
15 16 18 19
</pre>
 
=={{header|C sharp|C#}}==
<lang C sharp|C#> public static void Sort<T>(List<T> list) where T : IComparable {
if (list.Count > 1) {
StoogeSort(list, 0, list.Count - 1);
}
}
private static void StoogeSort<T>(List<T> L, int i, int j) where T : IComparable {
if (L[j].CompareTo(L[i])<0) {
T tmp = L[i];
L[i] = L[j];
L[j] = tmp;
}
if (j - i > 1) {
int t = (j - i + 1) / 3;
StoogeSort(L, i, j - t);
StoogeSort(L, i + t, j);
StoogeSort(L, i, j - t);
}
}</lang>
 
=={{header|Clojure}}==
Line 435:
{{out}}
[-6, -5, -2, 1, 3, 3, 4, 5, 7, 10]
 
=={{header|Eiffel}}==
<lang Eiffel>
Line 510:
-2 0 2 5 7 66
</pre>
 
=={{header|Elena}}==
ELENA 4.x :
Line 676 ⟶ 677:
end subroutine
end program</lang>
 
=={{header|FreeBASIC}}==
<lang freebasic>' version 23-10-2016
Line 922 ⟶ 924:
{{out}}
<pre>[1, 2, 3, 4, 9, 10, 13]</pre>
 
=={{header|jq}}==
{{works with|jq|1.4}}
Line 1,488 ⟶ 1,491:
stooge(\@a);
print "After @a\n";
</lang>
 
=={{header|Perl 6}}==
<lang perl6>sub stoogesort( @L, $i = 0, $j = @L.end ) {
@L[$j,$i] = @L[$i,$j] if @L[$i] > @L[$j];
 
my $interval = $j - $i;
if $interval > 1 {
my $t = ( $interval + 1 ) div 3;
stoogesort( @L, $i , $j-$t );
stoogesort( @L, $i+$t, $j );
stoogesort( @L, $i , $j-$t );
}
return @L;
 
my @L = 1, 4, 5, 3, -6, 3, 7, 10, -2, -5;
 
stoogesort(@L).Str.say;
</lang>
 
Line 1,770 ⟶ 1,753:
(stooge-sort xs i (- j t)))
xs)
</lang>
 
=={{header|Perl 6Raku}}==
(formerly Perl 6)
<lang perl6>sub stoogesort( @L, $i = 0, $j = @L.end ) {
@L[$j,$i] = @L[$i,$j] if @L[$i] > @L[$j];
 
my $interval = $j - $i;
if $interval > 1 {
my $t = ( $interval + 1 ) div 3;
stoogesort( @L, $i , $j-$t );
stoogesort( @L, $i+$t, $j );
stoogesort( @L, $i , $j-$t );
}
return @L;
 
my @L = 1, 4, 5, 3, -6, 3, 7, 10, -2, -5;
 
stoogesort(@L).Str.say;
</lang>
 
Line 1,941 ⟶ 1,945:
 
See it running in your browser by [https://scastie.scala-lang.org/QTCrb5SNTVqDNC6oRQRmZw Scastie (JVM)].
 
=={{header|Sidef}}==
<lang ruby>func stooge(x, i, j) {
10,333

edits