21xrx.com
2024-11-22 03:04:03 Friday
登录
文章检索 我的文章 写文章
如何使用C++的sort函数?
2023-07-11 13:25:18 深夜i     --     --
C++ sort函数 使用方法

C++的sort函数是一个非常强大的排序函数,可以帮助开发者快速的对数组、向量、链表等数据结构进行排序。使用这个函数非常简单,只需传入一个需要排序的容器和一个比较函数即可实现排序。

首先,我们需要先了解sort函数的基本用法。sort函数的原型如下:


template <class RandomAccessIterator>

void sort (RandomAccessIterator first, RandomAccessIterator last);

template <class RandomAccessIterator, class Compare>

void sort (RandomAccessIterator first, RandomAccessIterator last, Compare comp);

第一个原型是最简单的,它只需要传入一个起始的迭代器和一个终止的迭代器,sort函数将会默认将这个范围内的元素按照升序排序。

第二个原型需要传入一个比较函数,这个函数用于决定排序时元素的大小关系。比较函数的原型必须是这样的:


bool cmp(const T& lhs, const T& rhs);

其中,T是待比较的元素类型,cmp函数需要返回一个bool值。如果cmp(lhs, rhs)为true,则lhs应该在rhs的前面;否则,lhs应该在rhs的后面。

下面是一个例子,假设有一个包含整数的向量,我们需要对这个向量进行排序:


#include <iostream>

#include <vector>

#include <algorithm>

bool cmp(int a, int b)

  return a > b;  // 这个比较函数的意思是升序排序

int main() {

  std::vector<int> vec = 4;

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

  for (auto i : vec)

    std::cout << i << " ";

  

  return 0;

}

这个程序将会输出:


9 5 4 3 1 1

可以看到,我们使用了sort函数对vector进行了排序,并且输出了最终的结果。

除了vector以外,sort函数还可以用于常见的容器,例如数组和链表。只需要按照容器的规范提供迭代器即可。

总之,sort函数是C++标准库中非常实用的排序函数,能够帮助开发者快速、简单地对数据结构进行排序,非常方便。

  
  

评论区

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