我們在之前介紹過,STL可分為容器(containers),、迭代器(iterators),、空間配置器(allocator)、配接器(adapters),、算法(algorithms),、仿函數(shù)(functors)六個部分。 在前幾篇文章里主要向大家介紹了幾種常用的容器,,它們有vector(不定長數(shù)組),、stack(棧)、queue(隊列),、set(集合),、map(映射)。今天我們來介紹一下algorithm算法庫里的一些常用函數(shù),。 algorithm意為'算法',是C++的標(biāo)準(zhǔn)模版庫(STL)中最重要的頭文件之一,,提供了大量基于迭代器的非成員模板函數(shù)。 在使用algorithm里的內(nèi)容時和STL容器相似地,,也要加上頭文件,。 algorithm 算法庫 頭文件:#include<algorithm> 常用函數(shù): 1.max(x,y) 返回值為x和y的最大值。 2.min(x,y) 返回值為x和y的最小值,。 3.abs(x) 返回x的絕對值,。x必須為整數(shù),浮點數(shù)的絕對值使用<math.h>下的fabs(),。 4.swap(x,y) 交換x和y的值,。 5.reverse(it1,it2) 將數(shù)組指針在[it1,it2)之間的元素或容器的迭代器范圍內(nèi)的元素進(jìn)行反轉(zhuǎn)。 6.next_permutation(首元素地址,尾元素的下一地址) 給出一個序列在全排列的下一個序列,。
7.fill(首元素地址,尾元素的下一地址,值) 把數(shù)組或容器的某一段區(qū)間賦為某個相同的值,。
8.sort(首元素地址,尾元素的下一地址,比較函數(shù)(非必填) ) 排序,若不填寫比較函數(shù),,則默認(rèn)進(jìn)行遞增排序,。 |
|