首页 > 编程知识 正文

各种排序算法的时间复杂度,以下是不稳定的排序算法是

时间:2023-05-06 12:33:59 阅读:147698 作者:1278

直接选择排序算法思想无序排列a[0…n-1],第一次在a[0]~a[n-1]中选择最小值,与a[0]进行交换,第二次在a[1]~a[n-1]中得到按关键词从小到大依次排列的顺序直接选择排序算法的过程在以下:中给出n=7,数组a中的7个要素为[ 8,3,2,

第一次,数组a[0.6]中最小的数为a[3]=1,交换a[3]-a[0],交换结果[13-28746 ]

第二次,数组a[1.6]中最小的数为a[2]=2,交换a[2]-a[1],交换结果[ 12-38746 ]

第三次,阵列a[2.6]中最小的数为a[2]=3,交换a[2]-a[2],交换结果[12-38746 ]

第四次,阵列a[3.6]中最小的数为a[5]=4,交换a[5]-a[3],交换结果[ 1 2 3 4 6 8 7]

第五次,阵列a[4.6]中最小的数为a[4]=6,交换a[4]-a[4],交换结果[ 1 2 3 4 6 8 7]

第六次,阵列a[5.6]中最小的数为a[6]=7,交换a[6]-a[5],交换结果[ 1 2 3 4 6 7 8]

排序完成。 3358 www.Sina.com/http://www.Sina.com /直接选择排序算法伪代码//直接排序selection_sort(a ) fori=1ton-1 min=iforj=iiin @ testpublicvoidsort3((integer arr ) )、5、10、12、7、6、15、9、11、3 ); for(intI=0; i arr.length; I ) { int temp=arr[i]; int min=arr[i]; int key=i; for(intj=I; j arr.length; j ) { key=arr[j] min? j : key; min=arr[j] min? arr[j] : min; (if )钥匙!=I({arr[I]=arr[key] ); arr[key]=temp; //输出数组元素for(integerit:ARR ) system.out.print ) it ' ); }输出3 5 6 7 8 9 10 11 12 15

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。