4.3  修改性算法

4.3 修改性算法

前面讲述的非修改性算法对其所作用的容器不做任何修改。在实际编程中,程序员经常需要对所操作的容器进行修改和写操作。STL提供了诸多功能完善的算法,能够对所作用的容器进行修改的算法被称为修改性算法(或修正序列算法)。此类算法一般通过以下两种方法改变容器中元素的值:

1)在使用迭代器遍历序列时直接改变元素的值。

2)在元素复制过程中改变元素的值。

修改性算法的功能主要包括复制、转换、互换、赋值、替换、逆转、旋转和排列。

提示

在实现本节的上述算法时,其目标容器或目标区间必须不能是关联式容器,因为关联式容器是自动内部排序的。关联式容器的元素均被视为常数,也是不允许作为变量形式使用的,否则无法实现其内部自动排序。