选择排序:每次寻找最小的数放到前面。
#include <iostream>
using namespace std;
int main()
{
int arr[10] = { 0 };
int len = sizeof(arr) / sizeof(int);
for (int i = 0; i < len; i++)
{
cin >> arr[i];
}
for(int i=0; i<len; i++)
{
int flag = i;//保存下标
int temp = arr[i];
for(int j=i; j<len; j++) //往后遍历寻找比 arr[i]小的数
{
if(temp > arr[j])
{
flag = j;//保存小的数的下标
temp = arr[j];//保存小的数的值
}
}
arr[flag] = arr[i];
arr[i] = temp;//交换位置
// for (int i = 0; i < len; i++)
// {
// cout << arr[i] << " ";
// }
// cout << endl;
}
for (int i = 0; i < len; i++)
{
cout << arr[i] << " ";
}
return 0;
}
输入10个数: