特定容器算法
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中的所有元素移动到lst中p之前的位置 或是 flst中p之后的位置。将元素从lst2中删除。lst2的类型必须和lst相同,而且不能是同一个链表。 |
(p,lst2, p2) |
同上,p2是一个指向lst2中位置的有效的迭代器,将p2指向的元素移动到lst中,或将 p2之后的元素移动到flst中。lst2可以是于lst或flst相同的链表。 |
(p,lst2, b,e) |
b和e表示lst2中的合法范围。将给定范围中的元素从lst2移动到lst或first中。lst2与lst可以使相同的链表,但p不能指向给定范围中的元素。 |
浙公网安备 33010602011771号