大部分都是網上總結的(滑稽)
1.一些非常實用的函式,比如說找到下乙個排列的
2.在3.vector代替queue和stack還能稍微快一些。所以不建議使用queue和stack,內建的棧和佇列出奇的慢。
4.優先佇列,維護數列的極大值,效率很慢,比手寫二叉堆還慢不少,好像set都比它快些使用的話,主要是dijkstra的優化,用優先佇列可以簡化**(但效率賊慢)。
5.nth_element(first,nth,last) 將第k大的元素放到它該放(第k個)的位置上,左邊元素都小於它,右邊元素都大於它.
first,last 第乙個和最後乙個迭代器,也可以直接用陣列的位置。
nth,要定位的第nn 個元素,能對它進行隨機訪問.
6. vector:
1 .vector開闢空間是動態的,即宣告時vectorm[1e8] 都行,最後實際大小是你push_back的大小,用多少開闢多少
2.vector存資料時必須push_back();但當你存完了,用它裡面的東西時,直接可以用下標找,比如 輸出時
for(int i=0;i當然最硬核的就是用迭代器了
vector::iterator it;
for(it=vec.begin();it!=vec.end();it++)
cout<
(1)標頭檔案#include.
(2)建立vector物件,vectorvec;
(3)尾部插入數字:vec.push_back(a);
(4)使用下標訪問元素,cout
(6)刪除元素: vec.erase(vec.begin()+2);刪除第3個元素
vec.erase(vec.begin()+i,vec.end()+j);刪除區間[i,j-1];區間從0開始
(7)向量大小:vec.size();
用法: max=*(--s.end());
(8)清空:vec.clear();
7. set集合
1).set.begin() 返回集合的首迭代器,即指向集合中最小元素的迭代器,時間複雜度為o(1)
map::iterator it=s.begin();
min=*it
也可以
min=*(s.begin)
2).set.end()
返回集合的尾迭代器,眾所周知,stl中區間都是左閉右開的,那麼end()函式返回的迭代器即為指向集合中最大元素的下一 個位置的迭代器,因此--s.end()才是指向集合中最大元素的迭代器,時間複雜度為o(1)
用法: max=*(--s.end());
8 二維map存結構體
9. pairp 一對類似結構體
make_pair(int,int); 構造乙個pair 物件
pair的sort 預設是按first公升序 ,first相當是按second公升序
未完待續..
一些 ssh 小技巧
ssh 經常需要使用的,每次使用都 ssh abc def.com p 12138 i ssh id rsa來一遍顯然太麻煩了,下面分享一點使用ssh的小技巧 linux 下,ssh會去讀 ssh config 裡的配置的,只需要配置檔案裡寫入如下配 host 1 配置的名稱,選方便自己識別的就行h...
一些 ssh 小技巧
ssh 經常需要使用的,每次使用都 ssh abc def.com p 12138 i ssh id rsa複製 來一遍顯然太麻煩了,下面分享一點使用ssh的小技巧 linux 下,ssh會去讀 ssh config 裡的配置的,只需要配置檔案裡寫入如下配 host 1 配置的名稱,選方便自己識別的...
一些殺病毒小技巧
中了類似這種得sal.xls.exe和autorun.inf等 winrar可以作為資源管理器用 就是開啟winrar開啟也能用來檢視資料夾,而且能看到所有隱藏檔案 當顯示所有檔案失效而找不到病毒檔案時,可以用winrar看磁碟下的病毒檔案。嗯 u盤病毒 若是後遺症 雙擊磁碟會新建視窗開啟,資料夾選...