Java-选择排序

2020-02-10  本文已影响0人  小和尚_58fd

每一次从待排序的数据元素中选出最大(或最小)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。
选择排序是不稳定的排序方法。

public class SelectSort {
  public static void main(String[] args) {
   int[] nums = {34, 4, 56, 17, 90, 65};
  
    // 从小到大排序
    int minIndex = 0;        // 用于记录每次比较的最小值下标
    // 控制轮数
    for (int i=0; i < nums.length; i++) {
      // 每轮假设一个最小值下标
      minIndex = i;
      
      // 每轮都要跟下一个去做比较
      for (int j=i+1;j < nums.length; j++) {
        if (nums[minIndex] > nums[j]) {
              minIndex = j;
        }
      }
      
      // 判断需要交换的下标是否为自己
      if (minIndex != i) {
          nums[minIndex] = nums[minIndex] + nums[i];
          nums[i] = nums[minIndex] - nums[i];
          nums[minIndex] = nums[minIndex] - nums[i];
      }
    }

    // 打印
    for (int x:nums) {
      System.out.println(x);
    }
  }
}
上一篇 下一篇

猜你喜欢

热点阅读