待排序的元素中類型是已經確定的
例如 數據只有 A B C 三類數據
我們預定要將這些數據按照 A B C 的順序進行排序
可定義三個變量對這三類數據進行區分
import java.math.* ;
import java.util.* ;
/**
*
*/
public class Test extends Base{
public static void main(String[] args) throws Exception{
int[] arr = getRandomArr() ;
println(arr);
stoogeSort(arr , arr.length );
println(arr);
println();
}
public static void stoogeSort(int[] arr, int n){
int begin = 0 , current = 0 , end = n - 1 ;
int temp ;
for (; current <= end ; ){
if(arr[current] == 0){
temp = arr[current] ;
arr[current] = arr[begin] ;
arr[begin] = temp ;
current++ ;
begin++ ;
}else if(arr[current] == 1){
current++;
}else if(arr[current] == 2){
temp = arr[current] ;
arr[current] = arr[end] ;
arr[end--] = temp ;
while(arr[end] == 2) end-- ;
}
}
}
}