首页 > 代码库 > 常用排序之选择排序

常用排序之选择排序

选择排序的复杂度大约和冒泡差不多,O(n^2)的,

算法思想:min = i;
              从剩下的元素中找最小的元素下标赋值给i
              if(i !=min){swap;}  

代码实现:

   void sortIntegers(vector<int>& A) {
        int n = A.size();
        int i,min,j;
        for(i = 0;i<n;i++){
            min = i;
            for(j = i+1;j<n;j++){
                if(A[min]>A[j])
                    min = j;
            }
            if(i != min){
                int temp = A[i];
                A[i] = A[min];
                A[min] = temp;
            }
        }
    }

常用排序之选择排序