algorithm

演算法(algorithm)提供搜尋、排序與比較等功能,可以將這些功能應用在不同的容器上,讓演算法與資料容器分開,演算法也可以重複使用,增加演算法的使用彈性,減少使用者程式碼的撰寫,且大部分會使用演算法會配合迭代器存取個別元素。

algorithm所提供的重要演算法

stable sort

範例說明

使用vector初始化為「5.2, 3.4, 3.2, 4.6, 3.3」,使用stable_sort進行排序,第一次使用預設的浮點數排序,第二次使用自訂的比較函式,將浮點數轉成整數,所以「3.4, 3.2, 3.3」轉成整數都是3,比較時用3進行排序,看stable_sort排序後,結果是否為「3.4, 3.2, 3.3」,相同數字排序並不影響原始資料的順序。

範例程式如下

set運算

範例說明

集合p初始化為{1,3,5,7,9},集合q初始化為{2,3,4,5,6},使用set_union進行集合p與q的聯集運算,使用set_intersection進行集合p與q的交集運算,使用set_difference進行集合p與q的差集運算。

範例程式如下

排列

範例說明

使用next_permutation函式列出數字1、2與3的所有排列可能性。

範例程式如下