C STL中的函式

2021-10-05 04:25:09 字數 1621 閱讀 4495

標頭檔案< algorithm >中有很多好用的函式:

max(a,b);                       //返回a和b中的最大值,引數可以是浮點數

min(a,b); //返回a和b中的最小值,引數可以是浮點數

tolower(char ch); //將字元型變數ch的大寫轉換為小寫,其他不變

toupper(char ch); //將字元型變數ch的小寫轉換為大寫,其他不變

isdigit(char ch); //判定乙個字元是不是0~9的數字,引數是int型,這裡為了好理解寫成char

isalpha(char ch); //判斷乙個字元是不是字母,引數是int型,這裡為了好理解寫成char

islower(char ch); //判斷是不是小寫,引數是int型,這裡為了好理解寫成char

isupper(char ch); //判斷是不是大寫,引數是int型,這裡為了好理解寫成char

abs(x); //返回x的絕對值,引數x必須是整數

swap(a,b); //交換a,b的值,不會損失精度

reverse(it1,it2); //對迭代器[it1,it2)範圍內的所有元素進行反轉

next_permutation(a,a+3); //將int型陣列a~a+3之間的元素,排成當前序列的下乙個全排列

//例如a的前三個元素是2,3,1 則下乙個序列是3,1,2

fill(a,a+n,value); //將陣列a的n個元素全部填充為值value

//說明,二維陣列的寫法可有以下兩種,g[m][n]

fill(g[0],g[0]+m*n,value); //涉及到二維指標的解引用,不能像一維陣列那樣直接寫g

fill(g[0][0],g[0][0]+m*n,value);

fill(v.begin(),v.end(),value); //對於容器,可以使用迭代器作為引數

//排序函式

sort(a,a+n,cmp); //對a的n個元素進行排序

sort(v.begin(),v.end(),cmp); //對vector容器進行排序

//比較函式的實現

//基本型別的排序

bool cmp(int a,int b)

lower_bound(first,last,val); //在陣列或者容器的[first,last) 範圍內找到第乙個大於等於val的位置,然會下標或者迭代器

upper_bound(first,last,val); //在陣列或者容器的[first,last) 範圍內找到第乙個大於val的位置,然會下標或者迭代器

//如果找不到這樣的位置,返回可以插入該元素的位置的下標或者指標

C STL中的unique函式解析

原作者的這篇博文寫的非常通俗易懂,做了個搬運工。unique函式屬於stl中比較常用函式,它的功能是元素去重。即 刪除 序列中所有相鄰的重複元素 只保留乙個 此處的刪除,並不是真的刪除,而是指重複元素的位置被不重複的元素給占領了 詳細情況,下面會講 由於它 刪除 的是相鄰的重複元素,所以在使用uni...

C STL中的unique函式解析

一.總述 unique函式屬於stl中比較常用函式,它的功能是元素去重。即 刪除 序列中所有相鄰的重複元素 只保留乙個 此處的刪除,並不是真的刪除,而是指重複元素的位置被不重複的元素給占領了 詳細情況,下面會講 由於它 刪除 的是相鄰的重複元素,所以在使用unique函式之前,一般都會將目標序列進行...

C STL庫中sort函式用法

首先sort函式因為它使用的排序方法是類似於快排的方法,時間複雜度為n log2 n 執行效率較高。所以一般資料量很大的資料排序都可以用它來進行。1 sort 函式的標頭檔案為 include 2 sort函式有三個引數 第乙個是要排序的陣列的起始位址。第二個是結束位址 最後一位要排序的位址 第三個...