1.stl 算法:算法通过迭代器对容器区间的数据元素进行操作。stl中算法包含在头文件<algorithm>中,都是全局函数通过迭代器可应用在任何stl容器中。在使用stl算法时,我们必须明白算法是一个函数,所以我们得明白(1)函数的功能(2)函数的参数(3)函数的返回值是什么(4)时间空间复杂度如何。
2.下面我们首先介绍下:manipulatingalgorithm(更改型算法)也就是说,这些算法会对容器区间中的数据元素进行删除和修改,重排的算法。这里以 移除性算法(Removing algorithms)为例进行讲解。
(1)什么是 移除性算法(Removing Algorithms)?移除性算法是指根据元素值或者某一准则,在一个区间内移除某些元素。但是移除性算法并不能改变元素的数量,它们只是逻辑上的思考,将原本至于后面的“不移除的元素”向前移动,覆盖那些被移除的元素。移除性算法都返回新区间的逻辑终点。我们知道,stl处理的区间都是半开区间,所以这里的逻辑终点是最后一个 “不移除元素”的下一位置。所以说,移除性算法并没有内存的分配与回收,只是逻辑上对容器进行了修改。
(2)stl中移除性算法有哪些?
(1)移除某序列的元素:remove(),remove_if()(2)复制时一并移除元素 remove_copy(), remove_copy_if()(3)移除连续重复元素 unique();
3.下面从(1)函数声明(2)函数功能(3)函数参数(4)返回值(5)时间