一些STL算法

一些STL算法
adjacent_difference: *(_o + i -_begin) = bin_op (*i, *(i-1))

partial_sum: *(_o + i -_begin) = bin_op (*(_o + i -_begin),*i)

adjacent_find: return iterator which binary_pred(*i, *(i+1)) is
true

inplace_merge combines two consecutive sorted ranges [first, middle) and [middle, last) into a single sorted range [first, last)

next_permutation,其算法原理如下:
1. 从当前序列最尾端开始往前寻找两个相邻元素,令前面一个元素为*i,后一个元素为*ii,且满足*i<*ii;
2. 再次从当前序列末端开始向前扫描,找出第一个大于*i的元素,令为*j(j可能等于ii),将i,j元素对调;
3. 将ii之后(含ii)的所有元素颠倒次序,这样所得的排列即为当前序列的下一个排列。

你可能感兴趣的:(一些STL算法)