(1)思想:第i(i=0,i=1,...,i=n-2)次遍历,从后面n-i(包含第i个)个元素中选择最小的元素与第i个元素交换。
(2)c++实现:
void selectSort(int a[],int n){
for(int i=0;i<n-1;i++){
int k = i;
for(int j = i+1;j<n;j++){
if(a[j] < a[i])
k = j;
}
if(k != i)//最小的元素并不是当前的第i个元素,需要交换元素
swap(a[i],a[k]);
}
}(3)复杂度:o(n^2);
选择排序算法的C++实现及复杂度分析
本文详细介绍了选择排序算法的C++实现过程,并对其复杂度进行了深入分析,包括算法的核心思想、代码实现和时间复杂度。
18万+

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



