经典算法之直接选择排序

来源:互联网 发布:淘宝店的货源哪里来 编辑:程序博客网 时间:2024/06/06 18:49
/************************author's email:wardseptember@gmail.comdate:2017.12.12简单选择排序************************//*选择类排序的主要动作是“选择”,简单选择排序采用最简单的选择方式,从头到尾顺序扫描序列,找出最小的关键字,和第一个关键字交换,接着从剩下的关键字中继续这种选择和排序,最终使序列有序。*/#include<iostream>#define maxSize 10using namespace std;void simpleSelectSort(int *a, int n);//简单选择排序void printArray(int D[], int n);//输出数组void main() {    int D[maxSize] = { 12,15,48,46,16,78,57,88,65,48 };//构造一个一维数组    simpleSelectSort(D, maxSize);    cout << "简单选择排序结果为:" << endl;    printArray(D, maxSize);}void simpleSelectSort(int *a, int n) {//简单选择排序    int i, j, k, temp;    for (i = 0; i < n; ++i) {        k = i;        //这个循环是从无序中挑选出最小的关键字        for (j = i + 1; j < n; ++j) {            if (a[k] > a[j])                k = j;        }        //最小关键字与无序数列的第一个关键字交换        temp = a[i];        a[i] = a[k];        a[k] = temp;    }}void printArray(int D[], int n) {    for (int i = 0; i < n; ++i)  //输出排序后的关键字        cout << D[i] << " ";    cout << endl;}

以上如有错误,请指出,大家共同学习进步。

原创粉丝点击