sort使用sort()函数需要使用#includealgorithm头文件。sort 基本用法sort()函数可以对给定区间所有元素进行排序sort是不稳定的排序。它有三个参数void sort( RandomIt first, RandomIt last, Compare comp )其中[first, last)表示要排序的元素范围cmp参数为排序准则comp参数可以不写如果不写的话默认从小到大进行排序。// 非降序更准确示例1(数组实现)#includeiostream #includealgorithm using namespace std; int main() { int num[10] {-1,5,79,1,2,8,72,3,4,0}; // 这里使用指针作为迭代器 sort(num, num 10); for(int i 0;i 10;i) { cout num[i] ; }//输出结果:-1 0 1 2 3 4 5 8 72 79 return 0; }示例2vector实现#includeiostream #includevector #includealgorithm using namespace std; int main() { int n; cin n; vectorint iv; //空 for(int i 0;i n;i) { int x; cin x; iv.emplace_back(x); } sort(iv.begin(),iv.end()); for(int i 0;i n;i) { cout iv[i] ; } return 0; } /* 输入 5 5 23 9 0 7 输出 0 5 7 9 23 */sort 自定义排序// 重点是函数部分cmp比较函数对象即满足比较概念的对象在第一参数小于即先序于第二参数时返回 true。可以自定义比较函数cmp根据自定义的逻辑对元素进行排序也可以自定义第一参数与第二参数的关系返回值为 true 实现排序。//这里概念抽象应该举例cmp函数的定义需要两个参数参数a和参数b(a,b为排序对象的最小单位)当满足一定的条件的时候返回ture或false当返回值为true时第一个参数放在前面第二个参数放在后面; false则反之。示例一#includeiostream #includealgorithm using namespace std; bool cmp(int a,int b) // 明白第一参数和第二参数的先后关系 { return a b; // 自定义从大到小 ,重点在返回值 } int main() { int num[10] {-1,5,79,1,2,8,72,3,4,0}; sort(num, num 10, cmp); for(int i 0;i 10;i) { cout num[i] ; }//输出结果:79 72 8 5 4 3 2 1 0 -1 return 0; }示例二//结构体排序 #includeiostream #includealgorithm using namespace std; struct node { string id; int age; } a[1000]; bool cmp(node a,node b) { return a.age b.age; // 自定义年龄从小到大 } int main() { int n; cin n; for(int i 0;i n;i) { cin a[i].id a[i].age; } sort(a , a n , cmp); for(int i 0;i n;i) { cout a[i].id a[i].age endl; } return 0; } /* 输入 3 abc 56 fgh 17 yui 36 输出 fgh 17 yui 36 abc 56 */