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

短视频运营推广给你一个网站你如何做优化

短视频运营推广,给你一个网站你如何做优化,聊城网站建设制作开发公司,wordpress数据表优化在 C 中&#xff0c;std::vector 可以使用标准库中的 std::sort 函数对元素进行排序。std::sort 位于 <algorithm> 头文件中&#xff0c;是一个非常高效的排序算法&#xff08;通常是快速排序或混合排序&#xff09;。 以下是 std::sort 的基本用法&#xff1a; 1. 包含…

在 C++ 中,std::vector 可以使用标准库中的 std::sort 函数对元素进行排序。std::sort 位于 <algorithm> 头文件中,是一个非常高效的排序算法(通常是快速排序或混合排序)。

以下是 std::sort 的基本用法:


1. 包含头文件

#include <algorithm> // for std::sort
#include <vector>

2. 默认排序(升序)

std::sort 默认使用 < 运算符对元素进行升序排序。

std::vector<int> vec = {5, 2, 9, 1, 5, 6};// 默认升序排序
std::sort(vec.begin(), vec.end());// 输出结果
for (int value : vec) {std::cout << value << " ";
}
// 输出: 1 2 5 5 6 9

3. 降序排序

可以通过传递一个自定义的比较函数来实现降序排序。C++ 提供了 std::greater 来简化这一操作。

#include <functional> // for std::greaterstd::vector<int> vec = {5, 2, 9, 1, 5, 6};// 降序排序
std::sort(vec.begin(), vec.end(), std::greater<int>());// 输出结果
for (int value : vec) {std::cout << value << " ";
}
// 输出: 9 6 5 5 2 1

4. 自定义排序规则

如果需要根据特定规则排序,可以传递一个自定义的比较函数或 lambda 表达式。

示例 1:按绝对值排序
std::vector<int> vec = {-5, 2, -9, 1, 5, 6};// 按绝对值升序排序
std::sort(vec.begin(), vec.end(), [](int a, int b) {return abs(a) < abs(b);
});// 输出结果
for (int value : vec) {std::cout << value << " ";
}
// 输出: 1 2 -5 5 6 -9std::vector<int> vec = {-5, 2, -9, 1, 5, 6};
示例 2:按字符串长度排序
std::vector<std::string> vec = {"apple", "banana", "kiwi", "mango"};// 按字符串长度升序排序
std::sort(vec.begin(), vec.end(), [](const std::string& a, const std::string& b) {return a.length() < b.length();
});// 输出结果
for (const std::string& str : vec) {std::cout << str << " ";
}
// 输出: kiwi mango apple banana

5. 部分排序

如果只需要对部分元素进行排序,可以使用 std::partial_sort

std::vector<int> vec = {5, 2, 9, 1, 5, 6};// 对前 3 个元素进行排序
std::partial_sort(vec.begin(), vec.begin() + 3, vec.end());// 输出结果
for (int value : vec) {std::cout << value << " ";
}
// 输出: 1 2 5 9 5 6

6. 排序自定义对象

如果 std::vector 存储的是自定义对象,可以通过重载 < 运算符或提供自定义比较函数来排序。

示例:按对象的某个成员变量排序
#include <iostream>
#include <vector>
#include <algorithm>struct Person {std::string name;int age;// 重载 < 运算符bool operator<(const Person& other) const {return age < other.age;}
};int main() {std::vector<Person> people = {{"Alice", 25}, {"Bob", 20}, {"Charlie", 30}};// 按年龄升序排序std::sort(people.begin(), people.end());// 输出结果for (const Person& p : people) {std::cout << p.name << " (" << p.age << ")\n";}// 输出:// Bob (20)// Alice (25)// Charlie (30)return 0;
}

7. 性能说明

  • std::sort 的时间复杂度为 O(Nlog⁡N)O(NlogN),其中 NN 是元素的数量。

  • std::sort 是不稳定的排序算法。如果需要稳定排序(保持相等元素的相对顺序),可以使用 std::stable_sort


8. 完整示例

#include <iostream>
#include <vector>
#include <algorithm>
#include <functional> // for std::greaterint main() {std::vector<int> vec = {5, 2, 9, 1, 5, 6};// 默认升序排序std::sort(vec.begin(), vec.end());std::cout << "Ascending: ";for (int value : vec) {std::cout << value << " ";}std::cout << "\n";// 降序排序std::sort(vec.begin(), vec.end(), std::greater<int>());std::cout << "Descending: ";for (int value : vec) {std::cout << value << " ";}std::cout << "\n";return 0;
}

总结

  • std::sort 是 C++ 中最常用的排序函数,适用于 std::vector 和其他容器。

  • 默认是升序排序,可以通过 std::greater 或自定义比较函数实现降序或其他规则排序。

  • 对于自定义对象,可以通过重载 < 运算符或提供比较函数来排序。

http://www.dtcms.com/wzjs/561088.html

相关文章:

  • 注册网站建设wordpress 缩略图变形
  • 网站建设管理工作计划wordpress 添加水印
  • 母婴行业网站建设聊城正规网站建设公司电话
  • 小公司做网站需要注意什么欧洲站vat激活
  • 东莞建网站公司平台wordpress问卷调查
  • 化妆品营销型网站模板下载建筑公司分公司
  • 免费教育网站建设站长工具seo优化
  • 做教育集团的网站建设国外网站拼邮需要怎么做
  • 黄石市下陆区建设管理局网站做网站用的动漫资料
  • 不相关的网站做单项链接可以吗app网站开发公司的logo
  • 中国建设银行官方网站2018年年报wix建站教程
  • 网站推广常用的方法旅游网站开发设计
  • 胶州网站建设案例wordpress批量信息导入工具
  • 网站备案需要拍照网站建设费用核算
  • php网站开发开发网站教程深圳惠州网站建设公司
  • 成都网站建设低价徐州网站建设公司官网
  • 百度seo专业网站贵阳网站建设q479185700惠
  • 广州建设工程造价管理站怎样做网站设计要交税吗
  • 网站建设的目的及功能定位是啥企业邮箱注册申请价格
  • 招聘网站建设与开发要求织梦 去掉我的网站
  • 9377传奇全部游戏seo流量的提升的软件
  • 1元购类似网站架设药多少钱微信5000人接推广费用
  • 怎么给公司做网站flash 网站头部
  • 网站二维码特效包头做网站的公司招聘信息
  • 网站备案到公司即时设计生成网页
  • 优化网站性能宁波互联网企业排名
  • 企业门户网站解决方案制作公司网站的公司
  • 游戏网站开发推广计划书搬瓦工的主机可以用来做网站吗
  • 网站制作一般哪家好湛江网站建设价格
  • 百度经验网站建设常州网上车管所