简单选择排序
算法思想
从第0个元素开始,遍历到第n-1个元素,即n-1轮。
然后每一轮开始,找到从这轮第一个元素,到最后一个元素,最小的那个数,然后跟将这个最小的元素,和这轮第一个元素交换位置。举个例子:54321,遍历第一轮后,交换1和5,以此类推,遍历n-1轮(即更新n-1个位置)。
c++代码
#include <bits/stdc++.h>
using namespace std;
const int N = 100010;
int n,q[N];
void select_sort()
{
for(int i = 0; i < n - 1; i++)
{
int k = i;
for(int j = i + 1; j < n; j++)
{
if(q[j] < q[k])
k = j;
}
swap(q[i],q[k]);
}
}
int main(){
cin >> n;
for(int i = 0 ; i < n;i++) cin >> q[i]; //读取
select_sort();
for(int i = 0 ; i < n;i++) cout << q[i] <<' ';
return 0;
}