joe 发表于 2021-10-28 08:45:09

选择排序

1、选择排序简要概述
  它的基本思想是:第一次从arr到arr中选取最小值,与arr交换,第二次从arr到arr中选取最小值,与arr交换,第三次从arr到arr中选取最小值,与arr交换,…,第i次从arr到arr中选取最小值,与arr交换,…,第n-1次从arr~arr中选取最小值,与arr交换,
  总共通过n-1次,得到一个按排序码从小到大排列的有序序列。

 2、选择排序图解
https://img-blog.csdnimg.cn/20200828122416577.png
 3、代码实现
public class test{
    public static void main(String[] args) {
      int array[] = new int[]{5,-1,-8,10,30,20};
      System.out.print("选择排序前:");
      for (int i = 0; i < array.length; i++) {
            System.out.print(array + " ");
      }
      selectSort(array);
      System.out.println();
      System.out.print("选择排序后:");
      for (int i = 0; i < array.length; i++) {
            System.out.print(array + " ");
      }
    }

    public static void selectSort(int a[]) {
      int temp = 0;
      for (int i = 0; i < a.length - 1; i++) {
            int minIndex = i;
            int min = a;
            for (int j = i + 1; j < a.length; j++) {
                if (min > a) {
                  min = a;
                  minIndex = j;
                }
            }
            if (minIndex != i) {
                a = a;
                a = min;
            }
      }
    }
}
————————————————
版权声明:本文为CSDN博主「楠哥学IT」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/ITCSDN_/article/details/108287297
页: [1]
查看完整版本: 选择排序