Java 直接选择排序

来源:互联网 发布:数据接口功能 编辑:程序博客网 时间:2024/04/30 22:27

Java 直接选择排序

/* * 第一次从R[0]~R[n-1]中选取最小值,与R[0]交换, * 第二次从R[1]~R[n-1]中选取最小值,与R[1]交换, * ...., * 第i次从R[i-1]~R[n-1]中选取最小值,与R[i-1]交换, * .....,第n-1次从R[n-2]~R[n-1]中选取最小值,与R[n-2]交换, * 总共通过n-1次,得到一个按排序码从小到大排列的有序序列 */public class ZhiJieXuanZeSort {    public static void main(String[] args) {        int[] arr = new int[]{3,8,34,89,4,63,69,309,55,32};//      此方法是交换两个数,最后是最小的数交换//      for(int i = 0; i < arr.length-1; i++){//          for(int j = i; j <arr.length; j++){//              if(arr[i]>arr[j]){//                  int temp = arr[i];//                  arr[i] = arr[j];//                  arr[j] = temp;//              }//          }//      }        //另一种方法:只是交换下标        for(int i = 0; i < arr.length-1; i++){            int t = i; //记录当前的下标            for(int j = i; j <arr.length; j++){                if(arr[t]>arr[j]){                    t=j;  //改变下标,总是记录最小数的下标                }            }            if(t != i){                //判断i是否变化                int temp = arr[t];  //当前数与最小数交换。                arr[t] = arr[i];                arr[i] = temp;             }         }         //遍历打印        for(int i = 0; i<arr.length;i++){            System.out.println(arr[i]);        }    }}
0 0
原创粉丝点击