您的位置:首页 > 编程语言 > C语言/C++

C++选择排序

2020-05-22 08:44 86 查看

算法

1.设定一个指针min所指向的元素是每轮中最小的
2.遍历每轮的元素如果找到比此时更小的元素就将min指向该元素
3.每轮结束后将每轮最小的元素与每轮起始的位置交换

代码

void SelectSort(int* arr,int len)
{
int t;
int min;
//设定一个指针,指针所指向的元素是每轮中最小的元素
for(int i = 0; i < len-1; i++){//一共n-1轮
//设定每轮的第一个元素是最小的
min = i;
for(int j = i+1; j < len; j++){
//如果找到比当前min所指向的数据更小的数则将这个位置设为min
if(arr[j]<arr[min]){
min = j;
}
}
if(min!=i){
t = arr[i];
arr[i] = arr[min];
arr[min] = t;

}
}
}

时间复杂度

O(n^2)

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: