首先,这是一个菜鸟记录算法的学习之路,后续会慢慢把一些经典排序算法给补上。
冒泡排序
冒泡排序的思想上是:从前到后比较当前值与其后面一位值的大小,若大于则交换顺序,直到最终不需要交换为止,C++代码如下。
class Solution {
public:
vector<int> GetLeastNumbers_Solution(vector<int> input, int k) {
int nv = input.size();
vector<int> output;
if(nv < k)
return output;
int temp = 0;
for(int j = 0; j<nv; ++j){
for(int i = 0; i < nv-1-j; ++i){
if(input[i] > input[i+1]){
temp = input[i];
input[i] = input[i+1];
input[i+1] = temp;
}
}
}
for(int m = 0; m<k; ++m)
output.push_back(input[m]);
return output;
}
};