與其他容器不同,鍊錶型別 list 和 forward_list 定義了幾個成員函式形式的演算法:
對於list
和forward_list
,應該優先使用成員函式版本的演算法而不是通用演算法。
鍊錶型別還定義了splice
演算法,此演算法是鍊錶資料結構所特有的,因此不需要通用版本:
多數鍊錶特有的演算法都與其通用版本很相似,但不完全相同。鍊錶特有版本與通用版本之間的乙個至關重要的區別是鍊錶版本會改變底層的容器。例如,remove
的鍊錶版本會刪除指定的元素。
鍊錶版本的merge
函式會銷毀給定的鍊錶 ---- 元素從引數指定的鍊錶中刪除,被合併到呼叫merge
的鍊錶物件中。在merge
之後,來自兩個鍊錶中的元素仍然存在,但它們都已在同乙個鍊錶中。
特定容器演算法
與其他容器不同,鍊錶型別list與forward list定義了幾個成員函式形式的演算法,如下表所示。特別是,它們定義了獨有的sort merge remove reverse和unique。通用版本的sort要求隨機訪問迭代器,因此不能用於list和forward list,因為這兩個型別分別提供...
10 6 特定容器演算法
與其他容器不同,鍊錶型別list和 forward list定義了幾個成員函式形式的演算法,如下表所示。特別是,它們定義了獨有的sort merge remove reverse和unique。通用版本的sort要求隨機訪問迭代器,因此不能用於list和forward list,因為這兩個型別分別提...
足跡C primer 35 特定容器演算法
特定容器演算法 lst.merge lst2 將來自lst2的元素併入到lst。這兩個都必須是有序的。lst.merge lst2,comp 元素將從lst2刪除,第乙個版本使用 運算子,第二個版本使用給定的運算子 lst.remove lst2 呼叫erase刪除掉與給定值相等 或令一元謂詞為真的...