选择排序 (Selection Sort)

它的工作原理是每一次从无序组的数据元素中选出最小(或最大)的一个元素,存放在无序组的起始位置,无序组元素减少,有序组元素增加,直到全部待排序的数据元素排完。

这里写图片描述

#include<iostream>
#include<algorithm>
using namespace std;

void selectionSort(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;
            }
            //1.如果是c++ 11这个标准 这个函数在using namespace std;命名空间中
            //2.如果是之前的在#include<algorithm>
            //3.也可以自己交换
            swap(arr[i],arr[minIndex]);
        }
    }
}
int main(){

    int a[10]={10,9,8,7,6,5,4,3,2,1};
    selectionSort(a,10);
    for(int i = 0;i <10;i++){
        cout << a[i] << " ";
    }
    cout << endl;
    return 0;
}

猜你喜欢

转载自blog.csdn.net/hyunbar/article/details/80038179
今日推荐