STL算法分类
STL 中,算法就是函數模板。STL 中的算法大多數是用來對容器進行操作的,如排序、 查找等。大部分算法都是在頭文件 中定義的,還有些算法用于數值處理,定義在頭文件 中。
STL 中的算法的分類方法。
1 . 不變序列算法。
2 . 變值算法。
3 . 刪除算法。
4 . 變序算法。
5 . 排序算法。
6 . 有序區間算法。
7 . 數值算法。
有的算法可能同時屬于多個分類。
實際上,大多數重載的算法都有兩個版本,其中一個用==判斷元素是否相等,或用<比較大小;而另一個版本多出來一個類型參數 Pred 以及函數形參 Pred op,該版本通過表達式op(x, y)的返回值是 true 還是 false 來判斷 x 是否“等于”y 或者“小于”y。下面有兩個版本的 min_element:
iterate min_element(iterate first, iterate last); iterate min_element(iterate first, iterate last, Pred op);min_element 返回區間中最小的元素。第一個版本用<比較大小,而第二個版本用自定義的比較器 op 來比較大小,op(x, y) 的值為 true,則說明 x 比 y 小。
類似 sort 和 min_element 這樣有可自定義比較器版本的算法,在后文的表格中列出時,將加注“(可自定義比較器)”。
總結
- 上一篇: Java包装类、装箱和拆箱
- 下一篇: 命令行安装Pillow