算法笔记 --- Selection Sort

#include <iostream>

using namespace std;
class SelectionSort {
public:
    int* selectionSort(int* A, int n) {
        if(n == 1)
            return A;
        int tmp, index;
        for(int index_sorted = 0; index_sorted < n - 1; index_sorted ++){
            // index = searchMinLocal(A, index_sorted, n-1);
            index = index_sorted;
            for(int i = index_sorted+1; i <= (n-1) ; i++){
                if(A[i] < A[index])
                    index = i;
            }
            if(index_sorted != index){
                tmp = A[index_sorted];
                A[index_sorted] = A[index];
                A[index] = tmp;
            }
        }
        return A;
    }
    // int searchMinLocal(int* A, int index_beg, int index_end){
    //     int index_res = index_beg;
    //     for(int i = index_beg+1; i <= (n-1) ; i++){
    //         if(A[i] < A[index_res])
    //             index_res = i;
    //     }
    //     return index_res;
    // }
};
int main()
{
    int a[1] = {1};
    int* res;
    SelectionSort sorter;
    res = sorter.selectionSort(a, 1);
    cout<<"after sorting:"<<endl;
    for(int i = 0; i < 1; i++){
        cout<<a[i]<<" ";
    }
    cout<<endl;
   
    return 0;
}

 

posted @ 2016-08-20 19:38  zhongzhiqiangZz  阅读(128)  评论(0)    收藏  举报