algorithm標頭檔案下的常用函式

2021-10-09 07:03:27 字數 2898 閱讀 1606

lower_bound()和upper_bound()

max_element()、min_element

max(x,y)、min(x,y)分別訪問x和y的最大值和最小值,且引數必須是兩個。如果想返回三個數x、y、z的最大值,可以使用max(x,max(y,z))的寫法.

abs(x)返回x的絕對值。

注意:x必須是整數,浮點型的絕對值用math從檔案下的fabs

交換x和y的值

reverse(it,it2)可以將陣列指標在[it,it2)之間的元素或容器的迭代器在[it,it2)範圍內的元素進行反轉

#

include

#include

#include

using

namespace std;

int a[

100]=;

intmain()

#

include

#include

#include

#include

using

namespace std;

vector<

int> vi;

intmain()

reverse

(vi.

begin()

+2,vi.

end())

;for

(int i=

0;i<

5;i++

) cout<<<

" ";

}

#

include

#include

#include

#include

using

namespace std;

string s=

"abcdef"

;int

main()

給出乙個序列在全排列中的下乙個序列

#

include

#include

#include

int a[10]

=;using

namespace std;

string s=

"abcdef"

;int

main()

while

(next_permutation

(a,a+3)

);}

fill()可以把陣列或容器中的某一區間賦為某一相同的值。與memset不同,這裡是陣列型別對應範圍中的任意值

#

include

#include

#include

using

namespace std;

char a[10]

;int

main()

用來排序的函式,根據具體情況使用不同的排序方法,效率較高

sort(首元素位址(必填),尾元素位址的下乙個位址(必填),比較函式(非必填))

不寫比較函式,預設遞增排序

bool

cmp(

int a,

int b)

struct

node

;bool

cmp(

const node&a,

const node&b)

在stl中,只有vector、string、deque是可以使用sort的。

#

include

#include

#include

using

namespace std;

string a[5]

=;intmain()

需要在乙個有序陣列或者容器中

lower_bound(first,last,val)用來尋找陣列或者容器的[first,last)範圍內第乙個值大於等於val的位置,如果是陣列,那返回該位置的指標;如果是容器,返回該位置的迭代器。

upper_bound(first,last,val)用來尋找在陣列或者容器中的[first,last)範圍內第乙個值大於val的元素的位置。

若不用臨時指標,想要直接查元素的下標,直接令返回值減去陣列首位址即可

#

include

#include

#include

using

namespace std;

string a[10]

=;intmain()

返回陣列中最大位置的指標,減去首位址即所要找的元素的位置

如果有多個,找第乙個

#

include

#include

#include

using

namespace std;

int a[10]

=;intmain()

演算法筆記6 9 algorithm標頭檔案下常用函式

目錄 1.max min abs 2.max element 和min element 求陣列集合以及結構體中最大最小值 3.swap x,y 其實不在algorithm裡 4.reverse 5.next permutation 6.fill 7.sort 8.lower bound 和upper...

algorithm標頭檔案下的函式

非修改性序列操作 12個 迴圈對序列中的每個元素執行某操作 for each 查詢在序列中找出某個值的第一次出現的位置 find 在序列中找出符合某謂詞的第乙個元素 find if 在序列中找出一子串行的最後一次出現的位置 find end 在序列中找出第一次出現指定值集中之值的位置 find fi...

algorithm標頭檔案下函式整合

使用algorithm標頭檔案,在標頭檔案下加一行 using namespace std 才能正常使用 分別返回最大值 最小值 絕對值 注意 max,min中x,y可以是浮點型 abs中的x必須為整數,浮點型用math標頭檔案下的fabs 交換x,y的值 reverse it,it2 可以將陣列指...