学堂 学堂 学堂公众号手机端

C++的sort函数用于对容器中的元素进行排序

lewis 1年前 (2024-04-04) 阅读数 3 #技术

C++的sort函数用于对容器中的元素进行排序。使用sort函数需要包含头文件,并且容器中的元素要支持比较操作。

下面是sort函数的基本用法:

#include<algorithm> #include<vector> intmain(){ std::vector<int>vec={3,1,4,1,5,9,2,6}; //对vec中的元素进行升序排序 std::sort(vec.begin(),vec.end()); //输出排序后的结果 for(intnum:vec){ std::cout<<num<<""; } return0; }

在上面的例子中,我们使用sort函数对vector容器中的元素进行升序排序。sort函数接受两个参数,第一个参数是要排序的元素范围的起始位置,第二个参数是要排序的元素范围的结束位置。


如果要对自定义类型的元素进行排序,需要提供一个比较函数,可以通过lambda表达式或者重载比较运算符来实现。比如对于自定义的Student结构体来说,可以这样使用sort函数:

#include<algorithm> #include<vector> structStudent{ std::stringname; intscore; }; intmain(){ std::vector<Student>students={{"Alice",85},{"Bob",90},{"Charlie",78}}; //对students中的元素按照score进行升序排序 std::sort(students.begin(),students.end(),[](constStudent&a,constStudent&b){ returna.score<b.score; }); //输出排序后的结果 for(constStudent&student:students){ std::cout<<student.name<<""<<student.score<<std::endl; } return0; }

在上面的例子中,我们使用lambda表达式来定义比较函数,对Student结构体中的score进行升序排序。

版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门