为什么tha std :: list ::排序不起作用
Why is it tha std::list::sort does not work?
我有一个 list<int>
,带有内容 3,2,1
。
在列表中调用std::list::sort()
后,整数内容的顺序不会更改。为什么这样?
#include <list>
int main()
{
std::list<int> list, list1;
list.push_back(1);
list.push_back(2);
list.push_back(3);
list1.push_back(3);
list1.push_back(2);
list1.push_back(1);
list1.sort();
return list == list1;
}
在我的代码中,我一直变得错误,为什么?
我使用Visual Studio IntelliSense在呼叫sort()
函数之前和之后查看了列表的内容,我观察到排序顺序没有变化,因此证明了相等性测试的结果。
从视觉观察中,使用IntelliSense,有理由相信排序功能不起作用。
我将数据结构更改为向量,以便我有
class Greaterthan : std::binary_function<int,int,bool>
{
public:
result_type operator()(first_argument_type first,second_argument_type second)
{
return (result_type)(first < second);
}
}
然后,我将代码重新编写为
#include <vector>
int main()
{
std::vector<int> list, list1;
list.push_back(1);
list.push_back(2);
list.push_back(3);
list1.push_back(3);
list1.push_back(2);
list1.push_back(1);
list1.sort(Greaterthan());
return list == list1;
}
但是,同样的事情也发生了。为什么?
,所以当您有类似的东西时:
std::list<int> l;
l.push_back(4);
l.push_back(2);
l.push_back(1);
l.sort();
列表看起来像:[1,2,4]
您应该为我们提供您的代码,以获取一个更详细的问题的答案
相关文章:
- 尝试使用C++中的模板进行BST排序,但在使用随机字符串进行测试时不起作用
- 我的C++合并排序代码不起作用。我在这里错过了什么?
- 使用选择排序对数组数据结构进行排序,但它不起作用
- c++ 选择排序在特定情况下不起作用
- 排序不起作用 c++
- 在 C++ 中使用 10 个随机整数的数组进行气泡排序不起作用
- 插入排序不起作用
- 分而治之合并排序不起作用
- C 排序字符串的动态阵列 - 排序不起作用
- 为什么tha std :: list ::排序不起作用
- C++向量<Struct>排序不起作用
- 快速排序不起作用(分段错误)
- 使用qsort对字符串进行排序不起作用
- 自定义结构排序不起作用
- 为什么我的快速排序不起作用
- 简单std::排序不起作用
- 为什么泡沫排序不起作用
- std::矢量排序不起作用
- 对向量进行排序不起作用
- 为什么这个基数排序不起作用