STL 之 partition()方法 和 stable_partition()方法
转自: https://blog.csdn.net/godenlove007/article/details/7982307 这两个方法都用来将指定容器的元素根据指定的predicate函数分成两个子序列,其中满足predicate()函数的,返回值为true的作为第一个序列[v.begin(), bound), 而[bound, v.end())的作为第二个序列。两个方法的区别在于, partition()对于两个子序列中的元素并不排序,而stable_partition()则对两个子序列的元素也进行排序。 BidirectionalIterator partition ( BidirectionalIterator first, BidirectionalIterator last, Predicate pred ); BidirectionalIterator stable_partition ( BidirectionalIterator first, BidirectionalIterator last, Predicate pred ); Parameters: first, last 第一个和第二个参数说明给定源容器的范围 [first, last) pred 第三个参数给定进行分组的规则函数 布尔型返回值 对于返回true的所有元素作为第一个子序列