原理: 选择排序(Selection sort)工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素(下标).
工具 Dev c++
#include <iostream>
using namespace std;
int main(int argc, char** argv) {
//数据初始化
int arr[] = {10,32,45,98,12,74,36,64,51,6};
int i,j,temp,min;
//数组长度
int size = sizeof(arr)/sizeof(arr[0]);
//开始选择排序
for(i=0; i<size; i++){
//min用于存放较小元素的数组下标,避免每次遇到较小元素都要进行交换。
min = i;
//从i+1后面开始对比,避免浪费次数
for(j=i+1; j<size; j++){
//假如j下标的值小于min下标的值, 那就保存这个下标, 既筛选出最小值的下标
if(arr[j] < arr[min]){
min = j;
}
}
//假如最小值下标发生变化 那就交换他们的值
if(min != i){
temp = arr[min];
arr[min] = arr[i];
arr[i] = temp;
}
}
//用于显示数组
for(i=0; i<size; i++){
cout<<"数组"<<i<<" "<<arr[i]<<endl;
}
return 0;
}
附上 选择排序的动态图