【发布时间】:2016-11-27 07:33:59
【问题描述】:
我已经通过函数对象文档了解更多,更少。虽然我有点明白里面有什么,但我还不明白。将按升序或降序使用更大的排序我的容器吗?我特别困惑,因为以下两行似乎在做相反的事情。
std::priority_queue<int, std::vector<int>, std::greater<int> > q2;
for(int n : {1,8,5,6,3,4,0,9,7,2})
q2.push(n);
print_queue(p2);
这会打印 0、1、2、3、4、5、6、7、8、9。但是,
int x[10] = { 1,3,5,7,9,2,4,6,8,10 };
std::sort(x,x+10,std::greater<int>());
打印这将给出 10、9、8、7、6、5、4、3、2、1。
如果有人可以在我的示例中描述“更大”的工作原理,而不是仅仅说“更大”的一般工作原理,那就太好了。
【问题讨论】:
-
@MikeT:确实经历过,仍然感到困惑。不过,从 Dai 和 StoryTeller 的回答中获得更多意义,谢谢。