101. 简单排序

2017-03-28  本文已影响8人  时光杂货店

基本思想

将初始序列(A[0] ~ A[n-1])作为待排序序列,第一趟在待排序序列(A[0] ~ A[n-1])中找最小值元素,与该序列中第一个元素A[0]交换,这样子序列(A[0])有序,下一趟排序在待排序子序列(A[1] ~A[n-1])中进行。
第i趟排序在待排序子序列(A[i-1] ~ A[n-1])中找最小值元素,与该子序列中第一个元素A[i-1]交换。
经过n-1汤排序,初始序列有序。

解题之法

template <class T>
void SelectSort(T A[], int n){

    int small;
    for (int i = 0; i < n-1; i++){
        small = i;
        for (int j = i + 1; j < n; j++){
            if(A[j] < A[small])
                small = j;
}
        Swap(A[i], A[small]);
}
}

复杂度

O(n*n) 且不稳定

上一篇 下一篇

猜你喜欢

热点阅读