97、质变算法和非质变算法

所有的 STL 算法归根到底,都可以分为两类。

所谓“质变算法”是指作⽤在由迭代器[first,last]所标示出来的区间,上运算过程中会更改区间内的元素内容:

⽐如拷⻉(copy)、互换(swap)、替换(replace)、填写(fill)、删除(remove)、排列组合 (permutation)、分割(partition)。随机⃞排(random shuffling)、排序(sort)等算法,都属于这⼀类。

⽽⾮质变算法是指在运算过程中不会更改区间内的元素内容。⽐如查找(find),匹配(search)、 计数(count)、遍历(for_each)、⽐较(equal_mismatch)、寻找极值(max,min)等算法。

Last updated