[算法与数据结构]

来源:互联网 发布:关于美食的评价知乎 编辑:程序博客网 时间:2024/05/23 11:24
    基本思想 每一趟 (例如第 i +1 趟, i = 0, 1, …, n-2) 在后面 n-i 个待排序记录中选出排序码最小的记录,  作为有序序列中的第 i 个记录。待到第n-1 趟作完, 待排序记录只剩下1个,就不用再选了。


算法描述:

SelectSort.cpp

#include <iostream>using namespace std;int main(){    int n;    int arr [1000];    cin >> n;    for(int i = 0 ; i < n; i++)    {        cin>>arr[i];    }    int j,k;    for(k=0;k<n-1;k++)    {        int sIndex = k;        int cur = arr[k];        //找到[k,n-1]最小的数及其下标        for(j = k;j<n;j++)        {            if(arr[j]<cur)            {                sIndex = j;                cur = arr[j];            }        }        //cout<<sIndex<<endl;        arr[sIndex] = arr[k];        arr[k] = cur;    }    for(int i = 0 ; i < n; i++)    {        cout<<arr[i]<<" ";    }    return 0;}
P.S.文章不妥指出还望指正