#Z0310. sort排序
sort排序
No testdata at current.
对于一个数组,通过对数组中的元素进行交换,我们可以将数组中的元素按从大到小的或从小到大的顺序排列。
当我们希望对数组中的元素进行排序时,我们可以使用 C++ 为我们提供的工具——sort。有了它,你再也不用纠结如何完成排序了。
sort是一个 C++ 已经为我们实现好的工具,当我们要用它时,需要先引入一个算法的库——<algorithm> 。需要说明的是,sort可以排序任何类型的元素,包括我们自己定义的结构体。
我们将需要在 C++ 文件的开始位置加上:
#include <algorithm>
对于下面这段程序:
1 #include <iostream>
2 #include <algorithm>
3 using namespace std;
4 int main() {
5 int arr[] = {2, 4, 5, 3, 1};
6 return 0;
7 }
通过写
sort(arr, arr + 5);
我们可以将arr中从开始的元素到第 5 个元素按从小到大的顺序排列。
而如果我们写:
sort(arr + i, arr + j);
那么被排序的将是arr[i]到arr[j - 1],其他元素将保持原位置。
如果希望arr中的元素从大到小排列(或按照某一个规则进行排列),我们可以再为sort传入第三个参数——“排序方法”:
sort(arr, arr + 5, greater<int>());
其中,greater表示“更大”的意思,<int>表示待排序的数组中的元素类型为int,整个这行代码表示让一个元素类型为整数的数组从大到小排序。 我们的程序会变为:
1 #include <iostream>
2 #include <algorithm>
3 using namespace std;
4 int main() {
5 int arr[] = { 2, 4, 5, 3, 1 };
6 sort(arr, arr + 5, greater<int>());
7 return 0;
8 }