在 C++ 中,有多种方法可以对向量(即 std::vector
)进行排序。最常用的方法是使用标准库中的 std::sort
函数。以下是一些例子:
使用 std::sort
函数
std::sort
函数是标准库 <algorithm>
中的一个函数,可以对向量进行排序。它的默认行为是从小到大排序。
#include <iostream>
#include <vector>
#include <algorithm> // 包含 std::sort
int main() {
std::vector<int> vec = {3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5};
// 使用 std::sort 进行排序
std::sort(vec.begin(), vec.end());
// 输出排序后的向量
for(int num : vec) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
自定义排序规则
你还可以提供自定义的比较函数来实现不同的排序规则,例如从大到小排序。
#include <iostream>
#include <vector>
#include <algorithm> // 包含 std::sort
bool compareDescending(int a, int b) {
return a > b;
}
int main() {
std::vector<int> vec = {3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5};
// 使用 std::sort 并提供自定义比较函数进行排序
std::sort(vec.begin(), vec.end(), compareDescending);
// 输出排序后的向量
for(int num : vec) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
使用 std::stable_sort
如果你需要保持相等元素的相对顺序,可以使用 std::stable_sort
,它的用法和 std::sort
类似。
#include <iostream>
#include <vector>
#include <algorithm> // 包含 std::stable_sort
int main() {
std::vector<int> vec = {3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5};
// 使用 std::stable_sort 进行稳定排序
std::stable_sort(vec.begin(), vec.end());
// 输出排序后的向量
for(int num : vec) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
以上方法展示了如何在 C++ 中对向量进行排序,可以根据具体需求选择使用不同的方法。
本站资源均来自互联网,仅供研究学习,禁止违法使用和商用,产生法律纠纷本站概不负责!如果侵犯了您的权益请与我们联系!
转载请注明出处: 免费源码网-免费的源码资源网站 » 【绝对有用】C++ vector排序
发表评论 取消回复