特定容器算法

Posted real-ying

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了特定容器算法相关的知识,希望对你有一定的参考价值。

list和forward_list成员函数版本的算法:

操作解释
lst.merge(lst2) 将来自lst2的元素合并入lst,二者都必须是有序的,元素将从lst2中删除。
lst.merge(lst2, comp) 同上,上面版本使用<运算符,这个版本使用给定比较操作。
lst.remove(val) 调用erase删除掉与给定值相等(==)的每个元素
lst.remove_if(pred) 调用erase删除掉令一元谓词为真的每个元素
lst.reverse() 反转lst中元素的顺序
lst.sort() 使用<排序元素
lst.sort(comp) 使用给定比较操作排序元素
lst.unique() 调用erase删除同一个值的连续拷贝。
lst.unique(pred) 上面版本使用使用==,这个版本使用给定的二元谓词。
上面的操作都返回void

 

list和forward_list的splice成员函数版本的参数:

splice此算法是链表数据结构特有的,无通用版本

lst.splice(args) 或 flst.splice_after(args)
参数解释
(p,lst2) p是一个指向lst中元素的迭代器,或者一个指向flst首前位置的迭代器。函数将lst2中的所有元素移动到lstp之前的位置 或是 flstp之后的位置。将元素从lst2中删除。lst2的类型必须和lst相同,而且不能是同一个链表。
(p,lst2, p2) 同上,p2是一个指向lst2中位置的有效的迭代器,将p2指向的元素移动到lst中,或将 p2之后的元素移动到flst中。lst2可以是于lstflst相同的链表。
(p,lst2, b,e) be表示lst2中的合法范围。将给定范围中的元素从lst2移动到lstfirst中。lst2lst可以使相同的链表,但p不能指向给定范围中的元素。


以上是关于特定容器算法的主要内容,如果未能解决你的问题,请参考以下文章

从容器中删除所有碎片

特定容器算法

需要对特定 R 代码片段的解释

append() 在这个代码片段中是如何工作的?与特定变量混淆[重复]

android在特定片段中隐藏工具栏

以下代码片段的算法复杂度