Real-Ying

特定容器算法

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不能指向给定范围中的元素。


posted on 2020-04-20 22:50  Real-Ying  阅读(157)  评论(0编辑  收藏  举报

导航