存储有[0,n)的数组,数组长度为len。只能交换数组里n和0的位置进行排序.
输入 数组a为:{3,4,2,5,1,0,9,7,8,6}
输出 数组a为:{0 1 2 3 4 5 6 7 8 9}
public class test003 {
public static void main(String[] args) {
int[] a = new int[]{3,4,2,5,1,0,9,7,8,6};
sort(a, a.length);
for(int i=0; i<a.length; i++){
System.out.print(a[i]+" ");
}
}

private static void sort(int[] a, int len){
    for(int i=0; i<len; i++){
        swap_with_zero(a, len, i,a[i]);
        swap_with_zero(a, len, i,i);
    }
}

private static void swap_with_zero(int[] a, int len, int i, int num) {
   if(a[i] == num){
       a[i] =0;
   }else if(a[i] == 0){
       a[i] =i;
   }
}

}
欢迎交流指正~