以下是详细讲解“C++中sort函数的基础入门使用教程”的完整攻略及两条示例说明。
C++中sort函数的基础入门使用教程
简介
sort函数是C++ STL中的一个快速排序函数,我们可以用它对数组或容器进行排序。
基本使用
sort函数的一般形式如下:
#include <algorithm>
sort(first, last, cmp);
其中:
first
:指向要排序的第一个元素的指针(或迭代器);last
:指向要排序的最后一个元素之后的位置的指针(或迭代器);cmp
:自定义的排序函数,可选参数。
默认情况下,sort函数会按照从小到大的顺序对数组或容器进行排序。我们也可以通过自定义排序函数cmp
来改变排序的方式。
示例1:使用sort函数对数组进行排序
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int a[] = {4, 3, 6, 2, 8};
int len = sizeof(a) / sizeof(int);
sort(a, a + len);
for (int i = 0; i < len; i++) {
cout << a[i] << " ";
}
return 0;
}
输出结果:
2 3 4 6 8
示例2:使用sort函数对容器进行排序
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
bool mycmp(int a, int b) {
return a > b;
}
int main() {
vector<int> v = {4, 3, 6, 2, 8};
sort(v.begin(), v.end(), mycmp);
for (int i = 0; i < v.size(); i++) {
cout << v[i] << " ";
}
return 0;
}
输出结果:
8 6 4 3 2
自定义排序函数
如果我们想要按照某种特定的方式对数组或容器进行排序,就需要自定义排序函数。自定义排序函数的一般形式如下:
bool cmp(type a, type b) {
// 自定义排序规则,返回 true 或 false
}
其中,type
指代要排序的元素类型,可以是int
、double
、char
等基本类型,也可以是结构体、类等复杂类型。
示例3:自定义排序函数,按字符串长度升序排序
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
bool mycmp(string a, string b) {
return a.length() < b.length();
}
int main() {
vector<string> v = {"hello", "world", "ai", "for", "everyone"};
sort(v.begin(), v.end(), mycmp);
for (int i = 0; i < v.size(); i++) {
cout << v[i] << " ";
}
return 0;
}
输出结果:
ai for hello world everyone
至此,我们就完成了C++中sort函数的基础入门使用教程。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C++中sort函数的基础入门使用教程 - Python技术站