如何使用C语言中的sort函数
---
头文件
在C语言中,STL库中的sort函数可以用来对数组进行排序。为了使用sort函数,首先需要正确地引入头文件。可以使用万能头文件 `include
函数语法
sort函数的基本语法如下:
- 当参数缺省时,函数原型为:`void sort(first, last);`,其中`first`是未排序数组的第一个元素,`last`是未排序数组的最后一个元素。默认以递增的顺序排序。
- 一般形式为:`void sort(first, last, comp);`,多了一个比较函数`comp`,可以按照自定义的方式进行排序。
比较函数缺省的排序
```cpp
include
using namespace std;
int main() {
int a[] {4, 2, 3, 1, 2};
int n sizeof(a) / sizeof(int);
// 打印未排序数组
cout << "unsorted array: ";
for (int i 0; i < n; i )
cout << a[i] << " ";
cout << endl;
// 排序
sort(a, a 4);
// 打印已排序数组
cout << "sorted array: ";
for (int i 0; i < n; i )
cout << a[i] << " ";
cout << endl;
}
```
排序结果
未排序数组:4 2 3 1 2
已排序数组:1 2 3 4 5
不缺省,递减排序
如果想按照递减的顺序排序,可以使用内置的`greater
```cpp
include
using namespace std;
int main() {
int a[] {4, 2, 3, 1, 2};
int n sizeof(a) / sizeof(int);
// 打印未排序数组
cout << "unsorted array: ";
for (int i 0; i < n; i )
cout << a[i] << " ";
cout << endl;
// 递减排序
sort(a, a 4, greater
// 打印已排序数组
cout << "sorted array: ";
for (int i 0; i < n; i )
cout << a[i] << " ";
cout << endl;
}
```
不缺省,自定义比较函数
除了使用内置的比较函数外,还可以自定义比较函数来实现排序。例如,以下示例中的`compare`函数可实现升序排序:
```cpp
include
using namespace std;
int compare(int a, int b) {
return a > b;
}
int main() {
int a[] {4, 2, 3, 1, 2};
int n sizeof(a) / sizeof(int);
// 打印未排序数组
cout << "unsorted array: ";
for (int i 0; i < n; i )
cout << a[i] << " ";
cout << endl;
// 使用自定义比较函数排序
sort(a, a 4, compare);
// 打印已排序数组
cout << "sorted array: ";
for (int i 0; i < n; i )
cout << a[i] << " ";
cout << endl;
}
```
通过合理地使用C语言中的sort函数,可以轻松对数组进行排序,提高编程效率和代码质量。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。