一 更易型算法
- C++ 算法 複製元素
- std::copy 將某一範圍的元素複製到一個新的位置
- std::copy_if(C++11) 將某一範圍的滿足條件的元素複製到一個新的位置
- std::copy_n(C++11) 將一定數目的元素複製到一個新的位置
- std::copy_backyard 按從後往前的順序複製一個範圍內的元素
- C++11 算法 搬移元素
- std::move(C++11) 將某一範圍的元素搬移到一個新的區間
- std::move_backyard(C++11) 按從後往前的順序搬移一個範圍內的元素
- C++ 算法 std::transform
- std::transform應用給定的函數到範圍並存儲結果於另一範圍
- C++ 算法 歸併元素
- std::merge 歸併二個已排序範圍 [first1, last1) 和 [first2, last2) 到另一個已排序範圍中
- C++ 算法 交換區間元素
- std::swap_ranges 交換兩個區間對應元素
- C++11 算法 區間元素賦值
- std::fill 將一個給定值複製賦值給一個範圍內的每個元素
- std::fill_n 將一個給定值複製賦值給一個範圍內的 n 個元素
- std::generate 將相繼的函數調用結果賦值給一個範圍中的每個元素
- std::generate_n 將相繼的函數調用結果賦值給一個範圍中的 n 個元素
- std::iota(C++11) 用從起始值開始連續遞增的值填充一個範圍。注意頭文件爲 < numeric >
- C++ 算法 替換區間元素
- std::replace 替換區間中特定值元素爲另一個值
- std::replace_if 替換區間中滿足特定判別標準的元素爲另一個值
- std::replace_copy 複製一個範圍內的元素,並將滿足特定判別標準的元素替換爲另一個值
- std::replace_copy_if 複製一個範圍內的元素,並將滿足特定判別標準的元素替換爲另一個值
二 github
- 所有Demo 已上傳github cplusplus
- modifying_algorithm.cpp
三 參考
- 《C++ 標準庫 第2版》
- cppreference