选择排序的思路是,输入n个数,存储在下标从0到n-1。第一次,是从下标1到n-1的数中寻找比下标i=0的数小的,有则互换,无则不便;然后再从下标从2到n-1的数中,寻找数与下标i=1的数比较,得出第二小的,以此类推。
代码如下:
#include <iostream>
const int maxn = 1000+10;
int arr[maxn];
using namespace std;
int main()
{
int n;
while(cin>>n){
for(int i=0;i<n;i++) cin>>arr[i];
for(int i=0; i<n; i++){
for(int j=i+1; j<n; j++){
if(arr[j]<arr[i])
swap(arr[j], arr[i]);
}
}
for(int i=0;i<n;i++) cout<<arr[i]<<" ";
cout<<endl;
}
return 0;
}
如有不对欢迎指出