21xrx.com
2024-11-05 12:23:47 Tuesday
登录
文章检索 我的文章 写文章
C++中的sort函数:用法和实例
2023-07-01 21:17:41 深夜i     --     --
sort函数 C++ 用法 实例 排序

C++中的sort函数是一个非常常用和重要的函数,可以帮助我们快速地对数组或者容器中的元素进行排序,提高程序的效率和易读性。在本文中,我们将介绍sort函数的用法和实例,帮助读者更好地理解和运用这个函数。

1. sort函数的基本用法

sort函数在C++标准库 中,主要用于排序操作。其基本形式如下:


sort(Iterator first, Iterator last, Compare comp);

其中,first和last是容器的迭代器,表示排序操作的区间;Compare是可选参数,用于指定排序算法的规则,可以是一个函数对象或者Lambda表达式。

2. 实例1:对数组进行排序

下面是一个简单的例子,演示如何使用sort函数对数组进行排序。


#include <algorithm>

#include <iostream>

using namespace std;

int main()

{

  int arr[] = 7;

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

  sort(arr, arr+n);

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

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

  return 0;

}

执行结果:


1 2 4 5 7 8

从结果我们可以看出,sort函数已经成功地将数组按升序排序了。

3. 实例2:对容器进行排序

下面是一个使用sort函数对vector容器进行排序的例子。


#include <iostream>

#include <vector>

#include <algorithm>

using namespace std;

int main()

{

  vector<int> vec = 1;

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

  for(int i=0; i<vec.size(); i++)

    cout<<vec[i]<<" ";

  return 0;

}

执行结果:


1 2 4 5 7 8

通过上面的例子我们可以看出,对于C++标准库中的容器,我们可以通过指定begin()和end()来快速获取容器的迭代器,然后调用sort函数进行排序。

4. 实例3:使用自定义比较函数进行排序

有时候,标准的排序算法可能并不能满足我们的需求,我们需要使用自定义的规则来进行排序。在这种情况下,我们可以通过定义自己的比较函数来实现。


#include <iostream>

#include <algorithm>

#include <vector>

using namespace std;

bool cmp(int x, int y)

  return x > y;  //利用“>”运算符实现按降序排序

int main()

{

  vector<int> vec = 5;

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

  for(int i=0; i<vec.size(); i++)

    cout<<vec[i]<<" ";

  return 0;

}

执行结果:


8 7 5 4 2 1

我们定义了一个比较函数cmp,让sort函数按照我们自己的规则进行排序。

总结:

sort函数是一个非常常用和有用的函数,可以帮助我们快速地对数组和容器中的元素进行排序。通过本文提供的实例,我们可以清晰地理解sort函数的用法和实例,增加自己的代码编写功底。

  
  

评论区

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