排序03-简单排序法

简单排序法:用i位置的数据,与n-i+1中所有的数据进行比较,获取最小的记录,并进行交换;

时间复杂度:O(n^2)

特点:数据交换,移动次数最少;

测试代码:

复制代码
public class SimpleSort {

    public static void main(String[] args) {
//        int[] arr = {2,8,5,7,3,1,10,11,6};
        int[] arr = {2,3,5,7,8,1,10,11,6};
        System.out.println(Arrays.toString(arr));
        simpleSort(arr);

    }
    //通用,用于数据交换
    public static void swap(int[] arr , int i ,int j){
        int temp = arr[i];
        arr[i] = arr[j];
        arr[j] = temp;
    }

    public static void simpleSort(int[] arr){

        int i,j,min;
        for(i = 0 ; i< arr.length ; i++){
          min = i ;
          for(j = i+1 ; j<arr.length ; j++){
            if( arr[min] > arr[j] ){
                min = j;
            }
          }
          if(min != i){
            swap(arr,i,min);
          }
            System.out.println(Arrays.toString(arr));
        }
    }
复制代码

 实现过程:

posted @   PerfectLi  阅读(181)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示