选择+冒泡
#include <bits/stdc++.h> using namespace std; int main() {
//基本思想:从数组的未排序区域选出一个最小的数
//把他与数组中的第一个元素交换位置
//然后再从剩下的未排序区域中选出一个最小的元素
//把它与数组中的第二个元素交换位置 int num[]={3,5,1,8,2} ; int min=num[0],index=0; for(int i = 1 ;i < 5 ;i++){ if(num[i]<min) { min=num[i]; index=i; } } swap(num[0],num[index]); for(int i = 0 ;i < 5 ;i++) { for(int j=i+1;j<5;j++) { if(num[i]>num[j]) { swap(num[i],num[j]); } } } for(int i = 0 ;i < 5 ;i++) { cout<<num[i]<<" "; } return 0; }