选择排序及java实现

来源:互联网 发布:北京摄影函授学院知乎 编辑:程序博客网 时间:2024/06/08 08:20

一 选择排序算法
1 在未排序序列中找出最大(小)元素放在排序序列起始位置
2 在从剩余未排序序列中找出最大(小)元素放在已排序序列末尾
3 重复直到所有元素已排序
二 代码

    public static void sort(int[] arr)    {        for(int i=0; i<arr.length-1; i++)        {            int min = i;    // 最小值元素下标            for(int j=i+1; j<arr.length; j++)            {                if(arr[min] > arr[j])  // 寻找最小值                {                    min = j;   // 记录最小值下标                }            }            if(min != i)  // 如果本身最小值不用交换,节省时间            {                int temp = arr[min];                arr[min] = arr[i];                arr[i] = temp;            }        }    }

三 选择排序性质

  1. 比较次数(n1)+(n2)+....+1=n22
  2. 交换次数为n
  3. 数据移动最少
  4. 不稳定
0 0
原创粉丝点击