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

网站服务费怎么做凭证自己如何搭建服务器

网站服务费怎么做凭证,自己如何搭建服务器,国人原创wordpress cms模板:hcms,四川城乡和住房建设厅官方网站在 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/825838.html

相关文章:

  • 年前做网站的好处杭州的网站设计
  • 深圳云网站建站公司劳务派遣公司注册条件
  • 系统门户网站建设详细功能有哪些网站可以做网站游戏
  • 深圳手机建网站新洲区城乡建设局网站
  • 手机自助建网站建工网校和建工社是一个吗
  • 怎样给自己的网站做防红连接网页设计的特点有哪些
  • 怎么快速提升网站权重网站制作公司代理
  • 做网站运营有提成吗找做报纸的背景图去什么网站
  • 设计得很好的企业网站可以用来做网页的软件
  • 网站开发 文档网站开发验收过程
  • 找外包做网站不给代码科技有限公司经营范围有哪些
  • 怎么给一个网站做推广网站栏目模板如何选择
  • 唐山企业网站建设公司WordPress多级目录多种样式
  • 厦门做网站需要多少钱网站整体排名大幅下降
  • 深圳商城网站建设报价文具网站建设规划书
  • 北京网络网站建设公司joomla网站迁移
  • 昆明网站开发母婴网站设计开发
  • 青海省公路建设管理局官方网站网络规划设计师案例分析
  • 成都网站建设 培训班公司网络维护外包价格
  • wordpress教程下载网站主题营销型网站费用
  • 上海网站 建设潮州网站推广教程
  • 为什么手机网站跳转页面上泰安建站哪家好
  • 做网站如何获利网站商城例子下载
  • wordpress网站做成app如何制作网页首页
  • 沈阳鹊起网站建设中国建设银行网上银行网站
  • 富阳设计网站廉价网站建设
  • 手机网站大全免费下载wordpress户外俱乐部主题
  • 如何建微信商城网站平面设计课程标准
  • 常德网站建设网站优化企业微网站
  • 建设一个属于自己网站做网站兰州