算法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;
   }
}

}
欢迎交流指正~

算法 文章被收录于专栏

根据自己所见所闻进行算法归纳总结

全部评论

相关推荐

程序员小白条:你是沟通了900个,不是投了900份简历,你能投900份,意味着对面都要回复你900次,你早就找到实习了,没亮点就是这样的,别局限地区,时间投的也要早,现在都要7月了
点赞 评论 收藏
分享
评论
2
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务