2016 - 2024

感恩一路有你

如何使用C语言中的sort函数

浏览量:4071 时间:2024-03-18 18:03:43 作者:采采

---

头文件

在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函数,可以轻松对数组进行排序,提高编程效率和代码质量。

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。