简单选择排序

xiaoxiao2021-02-28  85

选择排序

非稳定排序

时间复杂度   O(n^2)

空间复杂度     最差 O(n) 最优 O(0)

排序思想: 每一趟在n-i+1(i=1,2,…n-1)个记录中选取关键字最小的记录作为有序序列中第i个记录。 简单来说就是:把数据中最小的值依次找出来。 排序算法: 将数据进行n-1次排序,每次排序取arry[i+1,n-1]中最小的值与arry[i]交换。 java实现: /** * 简单选择排序 * @param array */ public static void selectSort(int[] array){ int len=array.length; for(int i=0;i<len-1;++i){ int d=i; for(int j=i+1;j<len;++j){ //找到array[i+1,n-1]中最小的数的下标 if(array[j]<array[d]){ d=j; } } //如果array[i]已经是最小的就无需再替换了 if(d!=i){ int temp=array[d]; array[d]=array[i]; array[i]=temp; } } }
转载请注明原文地址: https://www.6miu.com/read-78329.html

最新回复(0)