问题描述:
给一组整数,按照升序排序,使用选择排序,冒泡排序,插入排序或者任何 O(n2) 的排序算法。
样例:
对于数组 [3, 2, 1, 4, 5]
, 排序后为:[1, 2, 3, 4, 5]
。
解题思路:
O(n 2 )的算法两个for就可以解决,将最小的放到第一个,次小的放在第二个,依此类推。代码:
class Solution {
public:
/**
* @param A an integer array
* @return void
*/
void sortIntegers(vector<int>& A) {
// Write your code here
for(int i=0;i<A.size();i++)
for(int j=i;j<A.size();j++){
if(A[j]<=A[i]){
int a=A[j];
A[j]=A[i];
A[i]=a;
}
}
}
};