java 经典选择排序法

选择排序: 选择排序比较时每次只会记录下最小的(或者最大的)的位置,一轮比较完成之后才会进行对应位置和最小位置(或者最大位置)的交换操作,所以每一轮的比较只做一次交换操作。

//选择排序
//原理:每次都找到当次最大的数,按大小顺序依次放入数组相应位置
//比如:第一次先找到最大的数并记下其位置,如果其不在数组第一位,
//则将其与第一位交换,使最大数置于第一位
//第二次再循环查找第二大的数并记下其位置,如果其不在数组第二位,
//则将其与第二位交换,使最大数置于第二位
//依次类推.........................................
//第i次再循环查找第i大的数并记下其位置,如果其不在数组第 i位,
//则将其与第 i位交换,使最大数置于第 i位
      //定义一个数组
        int[] arr = {5, 2, 3, 6, 1};
   //每每数组两两比较 例如五个数字 那么会比较四次
 // 所以arr. length -1 就是比较的次数
        for (int i = 0; i < arr.length - 1; i++) {
            for (int j = i + 1; j < arr.length; j++) {
                if (arr[i] > arr[j]) {
                    int temp = arr[i];
                    arr[i] = arr[j];
                    arr[j] = temp;
                }
            }
        }
//输出降序后的数组排序
        for (int i : arr1) {
            System.out.println(i);
        }


你可能感兴趣的:(java 经典选择排序法)