stl可以說是懶癌患者福利了// 持續更新(隨緣更新 )
bool
next_permutation
(iterator start,iterator end)
該函式的作用是求全排列的下一項(這裡其實還有乙個prev_permutation函式是求上一項的,除此之外用法相同)這裡的下一項指的是字典序列的下一項,如果存在下一項函式的返回值是true,不存在下一項返回false
#include
#include
using
namespace std;
intmain()
;dowhile
(next_permutation
(num,num+3)
);return0;
}
這裡對a,b,c進行全排列
=;我們把num陣列初始化過程中的a和b調換位置之後輸出結果變為
貼個例子吧
int
cmp(
char a,
char b)
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
typedef
long
long ll;
#define maxn 500010
using
namespace std;
int a[
10010];
intmain()
lower_bound( begin,end,num):從陣列的begin位置到end-1位置二分查詢第乙個大於或等於num的數字,找到返回該數字的位址,不存在則返回end。通過返回的位址減去起始位址begin,得到找到數字在陣列中的下標。
upper_bound( begin,end,num):從陣列的begin位置到end-1位置二分查詢第乙個大於num的數字,找到返回該數字的位址,不存在則返回end。通過返回的位址減去起始位址begin,得到找到數字在陣列中的下標。
在從大到小的排序陣列中,過載lower_bound()和upper_bound()
lower_bound( begin,end,num,greater() ):從陣列的begin位置到end-1位置二分查詢第乙個小於或等於num的數字,找到返回該數字的位址,不存在則返回end。通過返回的位址減去起始位址begin,得到找到數字在陣列中的下標。
upper_bound( begin,end,num,greater() ):從陣列的begin位置到end-1位置二分查詢第乙個小於num的數字,找到返回該數字的位址,不存在則返回end。通過返回的位址減去起始位址begin,得到找到數字在陣列中的下標。
lower_bound(val):返回容器中第乙個值【大於或等於】val的元素的iterator位置。
功能:函式lower_bound()在first和last中的前閉後開區間進行二分查詢,返回大於或等於val的第乙個元素位置。如果所有元素都小於val,則返回last的位置.
注意:如果所有元素都小於val,則返回last的位置,且last的位置是越界的!!
upper_bound(val):返回容器中第乙個值【大於】val的元素的iterator位置。
功能:函式upper_bound()返回的在前閉後開區間查詢的關鍵字的上界,返回大於val的第乙個元素位置
注意:返回查詢元素的最後乙個可安插位置,也就是「元素值》查詢值」的第乙個元素的位置。同樣,如果val大於陣列中全部元素,返回的是last。(注意:陣列下標越界)
c stl 一些東西
std map 其key是基於比較運算子的,因此自定義型別需要為該型別設定比較運算子操作 class a private int mm std mapkk std unordered map 基於hash實現,需要為自定義型別設定 運算子和雜湊函式 class a int get value con...
C STL的一些歸納
一 vector使用 之前c語 int arr 定義陣列,它的缺點是陣列的 度不能隨 所欲的改變,c 有 能完全替代陣列的動態陣列 vector它能夠在運 階段設定陣列的 度 在末尾增加新的資料 在中間插 新的值 度意被改變,很好 它在頭 件 vector 也在命名空間 std 所以使 的時候要引 ...
一些好用的外掛程式
atom one dark theme 好看的主題 atom one light theme 護眼主題 bookmarks 標記,方便查詢 指令 shift cmd k bracket pair colorizer 2 相鄰括號顏色不同,方便查詢 作用域範圍,可以與任何主題使用 code runne...