C++STL算法

1、不变序列算法

不会修改算法所作用的容器或对象 适用于顺序容器关联容器,时间复杂度为O(n)。

2、变值算法

会修改源区间或目标区间元素的值,值被修改的那个区间,不可属于关联容器

3、删除算法

删除一个容器里的某些元素,但不会使容器里的元素减少,删除算法不应作用于关联容器。

将所有应该被删除的元素看做空位子;用留下的元素从后往前移, 依次去填空位子 ;元素往前移后, 它原来的位置也就算是空位子,也应由后面的留下的元素来填上;最后, 没有被填上的空位子, 维持其原来的值不变。算法复杂度都是O(n)。

4、变序算法

改变容器内元素的顺序,但不改变元素的值。不适用于关联容器,算法复杂度都是O(n)。

5、排序算法

比前面的变序算法复杂度更高, 一般是O(nlog(n)),排序算法需要随机访问迭代器的支持,不适用于关联容器和list。

6、有序区间算法

lower_bound upper_boud equal_range等

7、数值算法

posted @ 2019-05-11 23:03  ZhuzhuDong  阅读(253)  评论(0编辑  收藏  举报