21xrx.com
2024-12-22 22:10:48 Sunday
登录
文章检索 我的文章 写文章
C++中vector的排序方法
2023-06-24 10:55:14 深夜i     --     --
C++ vector 排序

C++中的vector是一种动态数组,它的大小可以根据需求动态改变。排序是常见的操作之一,C++中的vector提供了sort()函数来进行排序。以下是C++中vector的排序方法。

1. 对整个vector进行排序

vector vec = 3;

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

sort()函数需要传递两个参数,即排序的起点和终点。在上述代码中,vec.begin()代表从vector的第一个元素开始排序,vec.end()代表排序到vector的最后一个元素。sort()函数默认使用升序排序。

2. 对vector的一部分进行排序

vector vec = 1;

sort(vec.begin() + 2, vec.begin() + 4);

在上述代码中,vec.begin() + 2表示从vector的第三个元素开始排序,vec.begin() + 4表示排序到vector的第五个元素。经过排序后,vector变为 4。

3. 按照自定义的比较函数进行排序

C++中的sort()函数还支持使用自定义的比较函数进行排序。比较函数需要接收两个参数,并返回一个bool类型的结果。如果第一个参数小于第二个参数,返回true,否则返回false。

下面是一个使用自定义比较函数进行排序的例子,代码中的compare()函数将元素按照从小到大的顺序进行排序。

bool compare(int a, int b)

  return a < b;

vector vec = 4;

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

使用自定义比较函数调用sort()函数时,需要将比较函数作为sort()函数的第三个参数传递进去。在上述代码中,compare()函数作为第三个参数传递给sort()函数,使得vector按照从小到大的顺序进行排序。

总而言之,C++中的vector提供了sort()函数来进行排序,并支持对整个vector或部分vector进行排序,还能够使用自定义的比较函数进行排序。掌握这些排序方法,可以更加方便地对vector进行排序。

  
  

评论区

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