美文网首页
【排序】和0交换排序

【排序】和0交换排序

作者: 菜鸟learn编程 | 来源:发表于2018-09-14 21:16 被阅读0次
    • 题目描述:长度为 N 的数组乱序存放着 0 到 N-1,只能进行 0 和其它数的交换,完成从大到小的排序。
    \\ n: 要和 0 交换的数字
    \\ len: 数组的长度
    public class Solution {
      public void swapWithZero(int[] array, int len, int n) {
        Main.SwapWithZero(array, len, n);
      }
    
      public void sort(int[] array, int len) {
        swapWithZero(array, len, array[0]);
        swapWithZero(array, len, len-1);
        for(int i=1; i<len-1; i++) {
          swapWithZero(array, len, a[i]);
          swapWithZero(array, len, i);
        }
        swapWithZero(array, len, len-1);
      }
    }
    
    • 解题思路:将 0 依次放在数组中对应的位置上,然后让 0 和值为 0 所在数组当前位置下标处进行交换。需要注意的是,首先将 N-1 放在 array[0] 位置上,遍历交换完数组后,0 将会放置在最后的位置 array[len-1] 上,最后将 0 和 N-1 进行交换,完成了排序。

    相关文章

      网友评论

          本文标题:【排序】和0交换排序

          本文链接:https://www.haomeiwen.com/subject/tyeagftx.html