选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为零。选择排序是不稳定的排序方法。
#include<iostream>
#include<algorithm>
using namespace std;
void selectSort(int arr[] ,int n){
for(int i=0;i<n;i++){
//寻找[i,n)区间里的最小值
int minIndex = i;
for(int j=i+1;j<n;j++)
{
if(arr[j]<arr[minIndex])
{
minIndex = j;//更新索引
}
}
//找到最小位置的索引,然后交换最小位置的数和当前的位置的数
swap(arr[i],arr[minIndex]);
}