日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

STL 分类

發(fā)布時間:2025/5/22 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 STL 分类 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、不改變序列的操作:
all_of() // 序列上所有元素全部都是...
any_of() // 序列上所有元素存在一個是...
none_of() // 序列上所有元素沒有一個是...

count(first, last, elem) // 對序列(指定元素)計數
find(first, last, elem)/find_if() // 查找序列中的一個元素 _if// 可自定義查找條件
search() // 查找序列中的一段子序列

adjacent_find(first, last) // 在序列中查找第一個挨在一起的兩個值相同的指定元素

--------------------------------------------------------------------------------------------
2、改變序列的操作:
copy(first, last, out)/copy_if() // 復制
copy_bcakward()
copy_n()

move(first, last, out) / move_backward() // 取得整個序列的最右引用

fill(first, last, num) / fill_n() // 類似memset,填充序列元素

generate(first, last, fun) // 類似fill,使用一盒函數往序列中填充元素
generate_n()

remove(first, last, elem)/remoce_if() // 將要刪除的元素移動到序列尾

replace()/replace_if()
replace_copy()/ replace_copy_if()

reverse()/ reverse_copy() // 反轉序列

rotate()/rotate_copy() // 在序列中交換其中兩部分的順序

unique(first, last)/ unique_copy() // 刪除序列中連續(xù)重復的元素(即把冗余的元素移動到序列尾)

swap()/ iter_swap()/swap_ranges(first, last, out) // 交換兩個序列的內容

iota(first, last, num) // 在一段區(qū)間上填上遞增的數字

transform(first, last, out, fun) //對序列中的每個元素都執(zhí)行函數fun,(可以對序列本身沒有影響,也可以改變序列本身)

for_each(first, last, fun) // 類似transform,它是在本序列上進行操作,靈活性小


shuffle() // 隨機打亂序列中元素的順序

sample() // 從序列中隨機挑選n個元素出來組成新的序列,每個元素只會被選擇一次,如果n大于序列的長度,那么整個序列都會被選出來。

---------------------------------------------------------------------------------------------
3、劃分操作:
partition() //

stable_partition() // 劃分的時候可以保持序列之前的相對順序

is_partiontioned()

partition_copy()

partition_point()

---------------------------------------------------------------------------------------------
4、排序操作:
sort()

stable_sort()

partial_sort / partial_sort_copy() // 對序列前半部分進行排序

nth_element() // 這個算法保證第n個位置上的元素一定是有序的,然后以這個位置為界限,右邊的每一個元素都大于左邊的每一個元素。類似快排的思想

is_sorted()

is_sorted_until()

---------------------------------------------------------------------------------------------
4、二分操作:
lower_bound()
upper_bound()

binary_search()
equal_range()

---------------------------------------------------------------------------------------------
5、合并操作:
merge() // 有序區(qū)間的合并,而merge通常用來把不同有序序列合并,因此需要一個容器來放結果。
inplace_merge() // 兩者的區(qū)別就在于inplace_merge可以在就地進行(一個序列,前半部分和后部分分別有序)而不用借助額外的空間,

---------------------------------------------------------------------------------------------
6、比較操作:
equal() // 判斷兩個序列是否完全相同

lexicographical_compare() // 判斷兩個序列字典序

mismatch() // 判斷找出兩個序列第一個不同的地方

---------------------------------------------------------------------------------------------
7、集合操作:
set_difference()

set_union()

set_intersection()

set_symmetric_differences()

includes()

merge()

---------------------------------------------------------------------------------------------
8、對操作:
make_heap() // 把一串序列調整成最大堆的數組形式

push_heap()

pop_heap()

sort_heap()

is_heap() / is_heap_until() // 判斷序列是否為最大堆以及在序列中找到一個最大的最大堆(以序列頭為堆頂)

---------------------------------------------------------------------------------------------
9、最大最小操作:
min_element / max_element / min_max_element // 返回序列中最小(最大)值的位置

min / max / minmax // 返回兩者中較小(較大)的那個值

clamp() // 給定一個區(qū)間,一個元素,它返回這個區(qū)間最靠近這個元素的值。

10、排列操作:
next_permutation()

prev_permutation()

is_permutation()

---------------------------------------------------------------------------------------------
11、數值操作:
accumulate()

partial_sum() // 求前綴和,生成前綴和序列。

inner_product()

adjacent_difference()

reduce()

transform_reduce()

inclusive_scan()

exclusive_scan()

transform_inclusive_scan()

transform_exclusive_scan()

gcd() // 最大公約數

lcm() // 最小公倍數

---------------------------------------------------------------------------------------------
12、未初始化內存上的操作:


uninitialized_copy()

uninitialized_copy_n()

uninitialized_fill() / uninitialized_fill_n()

uninitialized_move() / uninitialized_move_n(這個及以下都是C++17的算法)

uninitialized_default_construct() / uninitialized_default_construct_n
()
uninitialized_value_construct / uninitialized_value_construct_n
destroy()
destroy_at / destroy_n

---------------------------------------------------------------------------------------------

?

轉載于:https://www.cnblogs.com/shuang0109/p/9828959.html

總結

以上是生活随笔為你收集整理的STL 分类的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。