算法test003
存储有[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;
}
}}
欢迎交流指正~
算法 文章被收录于专栏
根据自己所见所闻进行算法归纳总结

腾讯成长空间 5879人发布