首页 > 代码库 > Java 选择排序

Java 选择排序

选择排序(Select Sorting)也是一种简单的排序方法。它的基本思想是:

     第一次从R[0]-R[n1]中选取最小值,与R[0]交换,

     第二次从R[1]-R[n-1]中选取最小值,与R[1]交换,

     第三次从R[2]-R[n-1]中选取最小值,与R[2]交换,...,

     第i次从R[i-1]-R[n-1]中选取最小值,与R[i-1]交换,...,

     第n-1次从R[n-2]-R[n-1]中选取最小值,与R[n-2]交换,总共通过n-1次,得到一个按排序码从小到大排列的有序序列。技术分享

 

package Sorting;
public class SecectionSorting {
                //选择排序
    public static void main(String[] args) {
        // TODO Auto-generated method stub
              int arr[]={2,5,11,23,14,12,20,17};
      int temp=0;
      for(int i=0;i<arr.length-1;i++){
          //假设第一个就是最小的数
          int min=arr[i];
          //记录最小的下标
          int minindex=i;
          for(int k=i+1;k<arr.length;k++){
              if(min>arr[k]){
                  //修改最小值
                  min=arr[k];
                  minindex=k;
              }
          }
          //当推出本次外层for循环时就找到这次的最小值
          temp=arr[i];
          arr[i]=arr[minindex];
          arr[minindex]=temp;
                }
      //foreach方法遍历输出数组a的排序结果
      for(int e:arr){
          System.out.print(e+"<");
      }
    }

}

 

Java 选择排序