特定容器演算法
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不能指向給定範圍中的元素。 |

