1. 程式人生 > >準備工作...

準備工作...

分隔 upper 原來 一個 區間 分享 open isp 出現

upper_bound(S, S+n, num) 非下降序列S,返回第一個大於num的值的指針 1 2 2 2 3

lower_bound,第一個大於等於num的值的指針 1 2 2 2 3

string A,B A.find(B) 返回B出現在A中位置 沒有就返回-1

A.c_str() string轉成c式字符數組 A.substr(0, 2) 臨時一個string存A的前兩個字符(A[0],A[1])(區間是前開後閉)

stringstream ss; ss.clear()神他媽清空狀態,ss.str("")清空內容

scanf %c時讀入任何字符包括空格tab回車 其他情況以這三個作為分隔

緩沖區: 空格233空格, scanf%d 第一個空格拋棄 寫入233 第二個空格會留在緩沖區

gets讀到回車結束,並且會把回車留在緩沖區

%*d空讀,讀了但是不寫入: scanf( "%d %*c %d", &x, &y );

sscanf(char指針, “控制格式”, 寫入的變量)把字符數組寫入變量裏,配合gets食用更加

數字和字符連續出現要讀 scanf“%d%s”可破 (入坑時被%c騙了)

(1,2) (2,3) (3,4) 這樣有任意空格的 scanf("空格(%d,%d)", ...)可破

set.insert(233)

set<int, mycmp>s mycmp可以是定義了排序規則的結構體 仿函數什麽的

map<char, int, mycmp> map排序是排第一個東西

技術分享
map<string,float>m;
     m["jack"]=98.0;
     m["mike"]=87.5;
     m["jane"]=100.0;
     m["babala"]=78.0;
     m.erase("jane"); 
臭名昭著的給字符串們標號

map[] = 直接修改鍵值,會覆蓋掉之前的(如果有)

mapStudent.insert(pair<int, string>(1, "student_one")); 插入pair 感覺好記,如果原來有鍵值就不會插入這個

mapStudent.insert(map<int, string>::value_type (1, "student_one")); 第二種插入

set.find()返回找到元素的叠代器 set.count() 返回元素的個數(當然是0/1)

queue priority_queue deque太常用...list bitset不常用...跳過了...

%o 八進制 %x 十六進制 輸出%: %%

準備工作...