请用c++重新回答上面的问题
时间: 2024-09-15 20:07:57 浏览: 57
C++提问回答整理
当然,下面是使用C++实现的解决排队问题的代码:
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
std::vector<int> countGreaterNumbers(int n, std::vector<int>& numbers) {
// 先对数列进行排序
std::sort(numbers.begin(), numbers.end());
// 初始化结果向量,所有元素默认值为0
std::vector<int> result(n, 0);
// 计算每个位置上比它大的元素数量
for (int i = 1; i < n; ++i) {
result[i - 1] = std::distance(numbers.begin(), std::lower_bound(numbers.begin(), numbers.begin() + i, numbers[i]));
}
return result;
}
int main() {
int n = 5;
std::vector<int> numbers = {3, 1, 4, 2, 5};
std::vector<int> output = countGreaterNumbers(n, numbers);
for (int num : output) {
std::cout << num << " ";
}
return 0;
}
// 样例输出:1 0 0 2 0
阅读全文