未排序的第一个数和其它数比较,找出最小(大)的数,放在未排序的起始位置
#include <iostream> using namespace std; //对数组int a[5] = { 7,5,9,2,1 } 进行升序排序 int main() { int a[5] = { 7,5,9,2,1 }; for (int i = 0;i <= 5;i++) { int smallest = i; //最小值 for (int j = i + 1;j < 5;j++) { //内层循环代表排序的轮数 if (a[j] < a[smallest]) { //从数组第i个数和第j个数往后比大小,如果j的数小,则把j赋值给smallest smallest = j; } } //交换 最小的和第i项 if (smallest != i) { int temp = a[smallest]; a[smallest] = a[i]; a[i] = temp; } } // 循环输出排序后的结果 for (int i = 0;i < 5;i++) { cout << a[i] <<endl; } system("pause"); return 0; }