#include <iostream> using namespace std; //选择排序的改进 void sort(int intArray[],int array_size); void print(int intArray[],int array_size); int main() { const int array_size = 6; int age[] = {10,20,5,40,30,15}; sort(age,array_size); print(age,array_size); return 0; } void sort(int intArray[],int array_size) { for(int i=0; i<array_size-1; i++) { //思路 选择排序的思路是 每一轮 第一个数值和剩下的分别比较 如果大于后面的数,就交换 //位置 改进 每一轮 第一个数值和剩下的比较 但只和最小的值交换位置 //flag记录当前值的索引 int flag = i; for(int j=i+1; j<array_size; j++) { //记录最小值的索引 if(intArray[flag] > intArray[j]) { flag = j; } } //说明有最小值 进行交换 if(flag != i) { int temp; temp = intArray[i]; intArray[i] = intArray[flag]; intArray[flag] = temp; } } } void print(int intArray[],int array_size) { for(int i=0; i<array_size; i++) { cout << intArray[i] << " "; } cout << endl; }