快速排序c++函数用法
时间: 2023-10-30 07:03:48 浏览: 87
快速排序是一种常用的排序方法,在c标准库中也有相关的函数可以使用。快速排序的时间复杂度最好为O(nlogn),最坏情况下为O(n²),它是一种不稳定的排序方法。
在c标准库中,使用快速排序函数的方法如下:
1. 首先要包含头文件#include <algorithm>,这样才能使用标准库中的排序函数。
2. 定义一个自定义比较函数,该函数用于指定排序的顺序。比较函数需要两个参数,返回一个bool值,表示第一个参数是否应该排在第二个参数之前。如果想要从小到大排序,比较函数应该返回a>b;如果想要从大到小排序,则应该返回a<b。比较函数的定义可以放在main函数的前面部分。
3. 在使用快速排序函数时,需要传入三个参数:待排序数组的起始地址、结束地址(即最后一个元素的地址+1)、自定义比较函数的函数名。如果不指定自定义比较函数,则默认按照从小到大的顺序排序。
以下是一个使用快速排序函数的示例代码:
#include <iostream>
#include <algorithm>
using namespace std;
bool cmp(int a, int b) {
return a > b;
}
int main() {
int a[] = {5,3,7,3,9,4};
sort(a, a+6, cmp);
for(int i = 0; i < 6; i++) {
cout << a[i] << " ";
}
return 0;
}
这段代码中,定义了一个自定义比较函数cmp,用于从大到小排序。然后使用sort函数对数组a进行排序,指定了自定义比较函数cmp。最后输出排序后的数组a。
阅读全文