思路:
选择排序思路,假定一个最小或最大值,根据题意这里假定一个最小值等于arr[0]
调用i后的数组元素的值和假定最小值比较,比最小值还小,互相交换
一轮循环比对过后把最小值赋值给当前i对应的元素,(比如,当前i==0,那么arr[0]=min,如果当前i==1,那么arr[1]=min,这个min就是第二小的值,以此类推得到一个从小到大排序的数组)
i的值++,重复进行比较,重写交换和赋值,直到完成
#include <iostream>
using namespace std;
int main() {
int arr[6] = { 0 };
int len = sizeof(arr) / sizeof(int);
for (int i = 0; i < len; i++) {
cin >> arr[i];
}
// write your code here......
for(int i=0;i<len;i++)
{
int min=arr[i];
for(int j=i+1;j<len;j++)
{
if(arr[j]<min)
swap(min,arr[j]);
}
arr[i]=min; //更新每一轮的最小值
}
for (int i = 0; i < len; i++) {
cout<< arr[i]<<" ";
}
cout<<endl;
return 0;
}

京公网安备 11010502036488号