首先在数组中找到最小的元素,然后把它和第一个元素交换。然后在剩余的元素中不断的找到最小者与第一个元素交换。
#include <iostream>
using namespace std;
void selectSort(int a[], int n){
int i, j;
for (i = 0; i < n; i++){
int minIndex = i;
for(j = i + 1; j < n; j ++){
if (a[minIndex] > a[j]){
minIndex = j;
}
}
swap(a[minIndex], a[j]);
}
}
int main(){
int a[10] = {10, 9, 8, 7, 6, 5, 4, 3, 2, 1};
selectSort(a, 10);
return 0;
}
网友评论