当前位置: 首页 > news >正文

【绝对有用】C++ vector排序

在 C++ 中,有多种方法可以对向量(即 std::vector)进行排序。最常用的方法是使用标准库中的 std::sort 函数。以下是一些例子:

使用 std::sort 函数

std::sort 函数是标准库 <algorithm> 中的一个函数,可以对向量进行排序。它的默认行为是从小到大排序。

#include <iostream>
#include <vector>
#include <algorithm> // 包含 std::sortint 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::sortbool 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_sortint 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++ 中对向量进行排序,可以根据具体需求选择使用不同的方法。

http://www.lryc.cn/news/378852.html

相关文章:

  • linux——VScode安装
  • X-LoRA:高效微调 LoRA 系列,实现不同领域知识专家混合模型
  • 基于卷积神经网络的目标检测
  • Mysqld数据库管理
  • Wifi通信协议:WEP,WPA,WPA2,WPA3,WPS
  • 开源【汇总】
  • 英文字母表
  • Redis缓存穿透
  • SHELL脚本学习(十一)正则表达式
  • Leetcode Java学习记录——代码随想录哈希表篇
  • 我又挖到宝了!小米、352、希喂宠物空气净化器除毛能力PK
  • 每月 GitHub 探索|10 款引领科技趋势的开源项目
  • 【如何让新增的Android.mk参与编译】
  • 【windows|009】计算机网络基础知识
  • C语言循环中获取之前变量的值
  • must be built with the ios 17 sdk or later,included in Xcode 15 or later.
  • Unity2D计算两个物体的距离
  • Spring IOC 控制反转(注解版)
  • 串口触摸屏的键盘控制
  • xss初识(xss-lab)
  • Autodesk Revit产品痛点
  • 如何使用Windows备份轻松将数据转移到新电脑?这里有详细步骤
  • 【linux】操作系统使用wget下载网络文件,内核tcpv4部分运行日志
  • QT中常用控件的样式美化,已上传相应的qss样式和图片资源
  • Vue form表单验证
  • vue.extend解决vue页面转构造函数暴露js供全局使用
  • Java中如何处理异常?
  • wordpress站群搭建3api代码生成和swagger使用
  • 如何在使用 Qt 时打印到控制台
  • ffmpeg音视频开发从入门到精通——ffmpeg下载编译与安装