C++vector数组范围排序
时间: 2023-10-04 17:08:51 浏览: 107
您可以使用C++ STL库中的sort函数对vector数组进行排序。以下是示例代码:
```c++
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
vector<int> vec = { 5, 3, 1, 4, 2 };
// 对vector数组进行排序
sort(vec.begin(), vec.end());
// 输出排序后的数组
for (auto i : vec)
{
cout << i << " ";
}
return 0;
}
```
输出结果为:1 2 3 4 5。
相关问题
c++vector数组能对string类排序吗
C++ `std::vector<std::string>` 数组本身并不能直接对 `std::string` 类型的元素进行排序,因为 `vector` 只是一个容器,它不具备排序功能。但是你可以使用 `vector` 的数据结构,配合 C++ 标准库提供的 `sort()` 函数来自行对其中的字符串元素进行排序。
例如,如果你有一个包含 `std::string` 的 `vector`,你可以这样做:
```cpp
#include <vector>
#include <algorithm>
bool stringCompare(const std::string &a, const std::string &b) {
// 通常这里可以根据需要自定义比较规则,比如按字典序升序
return a < b;
}
void sortVectorByString(std::vector<std::string> &vec) {
std::sort(vec.begin(), vec.end(), stringCompare);
}
```
在这个例子中,`sort()` 函数接受一个范围 `[begin, end)` 和一个比较函数,该函数用于确定元素间的顺序。`stringCompare` 函数定义了按照字母顺序的升序排列。
c++对vector结构体数组进行排序
可以使用`std::sort()`函数对`vector`结构体数组进行排序。以下是一个示例代码:
```c++
#include <iostream>
#include <vector>
#include <algorithm>
struct MyStruct {
int value;
// 其他成员变量...
};
bool compare(const MyStruct& a, const MyStruct& b) {
return a.value < b.value;
}
int main() {
std::vector<MyStruct> myVector;
// 将需要排序的结构体对象添加到vector中
std::sort(myVector.begin(), myVector.end(), compare);
for (const auto& item : myVector) {
// 输出排序后的结果
std::cout << item.value << " ";
}
return 0;
}
```
阅读全文