选择排序思想
选择排序的核心思想是找到其序列中的最小值,然后把这个数和第一个数交换,以此类推。
例如:
2 1 4 7 8 3
1 2 4 7 8 3
1 2 3 7 8 4
1 2 3 4 8 7
1 2 3 4 7 8
代码
int[] a= {2,1,4,7,8,3};
for(int i=0;i<a.length;i++){
int temp=a[i];
int k=i;//最小值的索引,之前用j来表示找到最小值得索引,会出现问题,原因是已找到最小值,但j有可能还在变化
int j=i+1;
//在剩余元素中找到其最小值
for(;j<a.length;j++){
if(temp>a[j]){
//找到最小值,记录其位置
k=j;
temp=a[j];
}
}
//交换
a[k]=a[i];
a[i]=temp;
}
算法分析
时间复杂度为n的平方
本文详细介绍了选择排序算法的基本思想及其实现过程。通过示例展示了如何逐步将数组中的元素按升序排列,并给出了具体代码实现。最后分析了选择排序的时间复杂度。

635

被折叠的 条评论
为什么被折叠?



