整数排序

来源:互联网 发布:php语言 编辑:程序博客网 时间:2024/06/06 12:35

给一组整数,按照升序排序,使用选择排序,冒泡排序,插入排序或者任何 O(n2) 的排序算法。

样例

对于数组 [3, 2, 1, 4, 5], 排序后为:[1, 2, 3, 4, 5]

代码:

class Solution {
public:
    /**
     * @param A an integer array
     * @return void
     */
    void sortIntegers(vector<int>& A) {
        // Write your code here
        int n=A.size()-1;
        for(int i=1;i<=n;i++){
            int x=A[i];
            int j=i-1;
            while(x<A[j]&&j!=-1){
                A[j+1]=A[j];
                j--;
            }
            A[j+1]=x;                                                   
        }
    }
};

感想:从第二个元素开始一一向前比较,如果前面的大则交换,否则不交换。