剑指offer-刷题笔记-中难题-JZ40 最小的K个数
交换排序
class Solution {
public:
//交换
void swap(int &a,int &b)
{
int temp;
temp = a;
a = b;
b = temp;
}
//交换排序-从小到大排序
void swapSort(vector<int> &input)
{
for(int i = 0;i < input.size(); i++)
{
for(int j = i+1;j < input.size(); j++)
{
if(input[j] < input[i])
{
swap(input[i],input[j]);
}
}
}
}
vector<int> GetLeastNumbers_Solution(vector<int> input, int k) {
swapSort(input);
vector<int> result;
if(k <= 0 || input.size() <= 0 || k > input.size())
return result;
for(int i = 0;i < k;i++)
{
result.push_back(input[i]);
}
return result;
}
};