21xrx.com
2024-11-05 16:30:08 Tuesday
登录
文章检索 我的文章 写文章
C++ 中的向量排序(vector sort)
2023-06-24 09:06:33 深夜i     --     --
C++ 向量排序 vector sort

C++ 中的 vector 是一种动态数组,可以在运行时动态地增加或缩减其大小。一般情况下,我们会需要对 vector 中的元素进行排序。C++ 中提供了一个标准库函数 std::sort,可以对 vector 中的元素进行排序。

使用 std::sort 对 vector 进行排序非常简单。需要注意的是,sort 函数是必须包含在 algorithm 头文件中的。下面是一个简单的例子:


#include <iostream>

#include <vector>

#include <algorithm>

using namespace std;

int main()

{

  vector<int> vec 5;

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

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

  {

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

  }

  

  return 0;

}

在上述代码中,我们首先创建了一个 vector,然后调用了 sort 函数对其进行排序。sort 函数的第一个参数是 vector 的起始点,第二个参数是 vector 的终止点。

上述代码的输出结果为:1 2 3 4 5 6 7 8 9。

此外,除了使用默认的升序排序方式外,sort 函数还提供了另一个可选参数,可以定制排序方式。这个参数是一个比较函数,接收两个参数,返回一个 bool 类型的值。如果第一个参数应排序前于第二个参数,返回 true,否则返回 false。

下面是另一个例子,我们使用 sort 函数和一个比较函数来对 vector 进行降序排序:


#include <iostream>

#include <vector>

#include <algorithm>

using namespace std;

bool my_compare(int a, int b)

  return a > b;

int main()

{

  vector<int> vec 5;

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

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

  {

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

  }

  return 0;

}

在上述代码中,我们定义了一个比较函数 my_compare,该函数始终返回第一个参数大于第二个参数。然后在调用 sort 函数时将该函数作为第三个参数传递。

上述代码的输出结果为:9 8 7 6 5 4 3 2 1。

总之,对 vector 进行排序是比较常见的操作。在 C++ 中,使用标准库函数 std::sort 可以轻松地完成此操作。如果需要定制排序方式,sort 函数也提供了相应的接口。

  
  

评论区

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