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

}
欢迎交流指正~

算法 文章被收录于专栏

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

全部评论

相关推荐

07-22 13:50
门头沟学院 Java
仁者伍敌:其实能找到就很好了,当然收支能抵
点赞 评论 收藏
分享
酷酷我灵儿帅:这去不去和线不线下面说实话没啥关系
点赞 评论 收藏
分享
07-23 14:04
东北大学 C++
既然这样,为什么不点击就送呢
牛马88号:因为你合适。但有很多笔试就挂了、通过了再排序的
点赞 评论 收藏
分享
评论
2
1
分享

创作者周榜

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