在 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++ 中对向量进行排序,可以根据具体需求选择使用不同的方法。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部