C++ vector 排序简单地说

标签 c++ sorting vector

好的,我有一个 vector< vector < long >> ,我想从最小到最大对最里面的 vector 进行排序 - 即我希望对 vector < long > 进行排序排序后看起来像 3,7,21。

这个问题之前有人问过,但是我想做的很简单,让非程序员也能看懂。我已经看到我可以创建一个函数或仿函数来对 as in this question. 进行排序有没有办法在不创建额外排序功能的情况下做到这一点?我在类里面这样做,我希望有一种方法可以做到这一点,而不必让人们在我的代码中到处寻找简单的排序功能。

一种可能是,可能有某种方法可以在类函数内部定义排序函数,但这在 C++ 中可能是不允许的。

言归正传:我见过几种方法,我想知道对整数 vector 进行排序的最简单方法是什么。非常感谢任何帮助,因为这可能比看起来更有帮助。

最佳答案

std::sort 函数使用 std::less<T>默认排序的功能。要获得相反的顺序,请明确使用 std::greater<T>函数代替。

我只是使用循环遍历外部 vector ,然后分别对每个内部 vector 进行排序。除非我误解了这个问题。

关于C++ vector 排序简单地说,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6671167/

相关文章:

c++ - 如何正确中止 Qt 中的网络请求?

C++ int 限制的提升动机

java - 按当前月份排序 List<Object> 到最近六个月

java - 使用比较器而不添加类

C语言,vector of struct,漏了什么?

c++ - 从指针删除到指针 vector

c++ - 对象指针 vector 上的 vector::erase() 会破坏对象本身吗?

c++ - 使用 std::for_each lambda 函数时出错

c++ - visual C++ express 2010 和设置环境变量解决方案范围

php - 关联数组不存储 SQL 的第一个结果