21xrx.com
2024-12-22 23:03:03 Sunday
登录
文章检索 我的文章 写文章
C++的sort函数使用方法
2023-07-02 22:25:21 深夜i     --     --
C++ sort函数 使用方法

C++的sort函数是一种常用的排序函数,能够对数组或容器中的元素按照指定的排序规则进行排序。本文将介绍C++的sort函数的使用方法。

sort函数的使用方法:

1.头文件

使用sort函数需要包含头文件#include

2.语法

sort函数的语法如下:


sort(begin, end, cmp);

其中,begin和end分别表示要排序的数组或容器的首个元素指针和最后一个元素指针的后一个位置,即数组或容器的末尾;cmp是可选的比较函数,可以用于指定排序方式。

3.示例

下面是一个示例,展示了如何使用sort函数对一个数组进行排序:


#include<algorithm>

#include<iostream>

using namespace std;

int main(){

  int arr[] = 3;

  int n = sizeof(arr) / sizeof(arr[0]);

  sort(arr, arr + n);

  for (int i = 0; i < n; ++i){

    cout << arr[i] << " ";

  }

  return 0;

}

在上述示例中,我们使用sort函数对一个整型数组进行了排序。sort函数的第一个参数是指向数组的首个元素的指针,第二个参数是指向数组最后一个元素后面的位置的指针,用于表示数组的末尾。在该示例中,我们将数组的大小计算为n,然后使用sort函数将数组元素按升序进行排序。最后,我们使用一个for循环输出已排序的整型数组。

4.自定义比较函数

我们也可以使用自定义的比较函数来指定sort函数的排序规则。比较函数应该接受两个参数,并返回一个bool值,指示哪个参数在排序中应排在哪个参数前面。函数返回true表示第一个参数应排在前面,false表示第二个参数应排在前面。

下面是一个示例,展示了如何使用自定义比较函数对一个字符串容器进行排序:


#include<algorithm>

#include<iostream>

#include<string>

#include<vector>

using namespace std;

bool cmp(string a, string b){

  return a.size() < b.size();

}

int main(){

  vector<string> vec = "banana";

  sort(vec.begin(), vec.end(), cmp);

  for (auto v : vec)

    cout << v << " ";

  

  return 0;

}

在上述示例中,我们创建了一个字符串容器vec,并向其中添加了5个元素。我们使用sort函数对容器元素进行排序,按照字符串长度从小到大排序。我们定义了一个名为cmp的比较函数,它接受两个参数,分别是两个字符串。我们比较这两个字符串的长度,如果第一个字符串长度小于第二个字符串,我们返回true,否则返回false。在主函数中,我们调用sort函数,并传入了自定义的cmp比较函数作为第三个参数。最后,我们使用一个for循环输出已排序的容器元素。

5.总结

这篇文章介绍了C++的sort函数的使用方法。我们可以使用sort函数对数组和容器元素按照指定的排序规则进行排序,也可以自定义比较函数来指定排序规则。sort函数的简单使用方法可以帮助我们更好地应对排序问题。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复