内部排序—简单选择排序

来源:互联网 发布:深思考人工智能北京 编辑:程序博客网 时间:2024/06/05 22:56

    n个记录进行简单选择排序的基本方法是:通过n-i(1<=i<=n)在次关键字之间比较,从n-i+1个记录中选出关键字最小的记录,并和第i个记录进行交换,当i等于n时偶有记录有序排列。

    简单选择排序是一种不稳定的排序方法,时间复杂度为O (n2)。在排序过程中仅需要一个元素作为辅助空间用于数组元素值的交换,空间复杂度为O(1)。

/// /// 简单选择排序/// 思想:每次从待排序的数组中取出一个最小的和当前位置的数组交换/// /// /// private int[] SelectSort(int[] arrData){    int temp = 0;//临时交换变量    int t = 0;    for (int i = 0; i < arrData.Length - 1; i++)    {        t = i;//用来记录当前交换的位置        //从未排序的数组中选取最小值        for (int j = i + 1; j < arrData.Length; j++)        {            if (arrData[j] < arrData[t])                t = j;        }        //如果未排序数组中不是第一个最小值 则交换        if (t != i)        {            temp = arrData[i];            arrData[i] = arrData[t];            arrData[t] = temp;        }    }    return arrData;}

原创粉丝点击