c++中的vector类中有没有遍历一个vector数组,使整个数组从小到大或从大到小排布的函数?
时间: 2024-02-22 20:59:24 浏览: 60
C++ 中的 vector 类提供了多种方法来遍历和操作 vector 数组,其中包括可以将整个数组从小到大或从大到小排布的函数。
例如,要将一个 vector<int> 数组从小到大排布,可以使用 C++ 标准库中的 sort 函数。具体代码如下:
```c++
#include <vector>
#include <algorithm>
int main() {
std::vector<int> v = {5, 2, 4, 3, 1};
// 从小到大排序 vector 数组
std::sort(v.begin(), v.end());
// 遍历排序后的 vector 数组
for (auto i : v) {
std::cout << i << " ";
}
return 0;
}
```
上述代码中,通过调用 `std::sort(v.begin(), v.end())` 将 vector 数组从小到大排序。然后使用 for 循环遍历排序后的数组输出元素即可。
如果要将 vector 数组从大到小排布,则可以使用 `std::greater<int>()` 作为第三个参数调用 `std::sort()` 函数。例如:
```c++
#include <vector>
#include <algorithm>
int main() {
std::vector<int> v = {5, 2, 4, 3, 1};
// 从大到小排序 vector 数组
std::sort(v.begin(), v.end(), std::greater<int>());
// 遍历排序后的 vector 数组
for (auto i : v) {
std::cout << i << " ";
}
return 0;
}
```
上述代码中,通过将 `std::greater<int>()` 作为第三个参数调用 `std::sort()` 函数,将 vector 数组从大到小排序。然后使用 for 循环遍历排序后的数组输出元素即可。
阅读全文