泛型算法 partition()

来源:百度知道 编辑:UC知道 时间:2024/09/25 15:26:04
这个函数我看了在MSDN中给出的例子
但还是没搞懂。
it = partition(start, end, bind2nd(less<int>(), 11))
特别是第3个参数的意义
而且最后输出也没搞懂输出的排列和11的关系何在

msdn原话:
Remarks
The partition algorithm arranges elements in the range [First, Last) such that the elements for which Predicate returns true are before the elements for which predicate returns false. The algorithm returns an iterator positioned at the first element for which Predicate returns false.
我的翻译:
partition算法排列在你给他的前两个iterator(例子中就是迭代器start,end)之间的所有元素,排列完后达到这样的效果:
  你传递给他的断言方法(这里是bind2nd(less<int>(), 11))返回真的元素都排在返回假的元素的前面。这个例子排完后的结果就是Numbers { 6 10 10 9 7 12 15 20 }
前五个小于11,后三个大于11.