c++实现选择排序
#include <bits/stdc++.h>
using namespace std;
int a[100005],n,k;
int main()
{
cin >> n;
for(int i=1;i<=n;i++)
cin >> a[i];
for(int i=1;i<n;i++)
{
k=i;
for(int j=i+1;j<=n;j++)
if(a[j]<a[k])
k=j;
if(k!=i)
swap(a[i],a[k]);
}
for(int i=1;i<=n;i++)
cout << a[i] << " ";
return 0;
}
/*
第i次,把第i个小的数的位置找出来,记为k
第i个元素和第k个数进行交换
6
1 2 3 4 5 6
5 6 1 3 2 9
i=1
k=3
swap(a[i],a[k])
1 6 5 3 2 9
i=2
k=5
1 2 5 3 6 9
1 2 3 5 6 9
*/