1.二分查詢upper_bound 和lower_bound
vector::iterator it = lower_bound(v.begin(), v.end(), 3); //返回vector中第乙個大於(等於)3的數的指標
int pos = lower_bound(v.begin(), v.end(), 3)-v.begin(); //得到在vector中的位置
2.去重unique函式
unique的作用實質上是把重複的元素新增到容器末尾,而返回值是去重之後的尾位址
例:
int a[10]=;
int ans=unique(a,a+10)-a; //此時ans為5
3.全排函式next_permutation和prev_permutation
例:sort(a,a+n); //先排序得到a的最小排列
do //依次輸出陣列a的排序
{ for(int i=0;i4.vector
a. reverse(v.begin(),v.end());將元素翻轉,即逆序排列
b. 邊遍歷邊刪除
for(vector::iterator it=v.begin(); it!=v.end();)
v.erase(it);
c.刪除區間 v.erase(v.begin()+i,v.end()+j);
5.map
a.構造mapm;
b.新增資料 m.insert(map::value_type(111,"acs");
或m.insert(pair(111,"acs");
或m[111]="acs";
在指定位置插入
map::iterator it=m.begin();
pair::iterator, bool> p;
p=m.insert(it,pair(111,"acs");
if(p.second==true) 插入成功
c.遍歷
for(map::iterator it = m.begin(); it != m.end(); it++)
coutd.查詢
m.find(1); //查詢關鍵字1
e.刪除
m.erase(1); //刪除關鍵字為1的值
m.erase(it): //刪除it所指向的位置的值
m.erase(it1,it2); //刪除兩指標間的值(左閉右開)
6.string
a.初始化
a) string s; //生成乙個空字串s
b) string s(str) //拷貝建構函式 生成str的複製品
c) string s(str,stridx) //將字串str內「始於位置stridx」的部分當作字串的初值
d) string s(str,stridx,strlen) //將字串str內「始於stridx且長度最多strlen」的部分作為字串的初值
e) string s(cstr) //將c字串作為s的初值
f) string s(chars,chars_len) //將c字串前chars_len個字元作為字串s的初值。
g) string s(num,c) //生成乙個字串,包含num個c字元
h) string s(beg,end) //以區間beg;end(不包含end)內的字元作為字串s的初值
i) s.~string() //銷毀所有字元,釋放記憶體
b.查詢
int find(char c, int pos = 0) const;//從pos開始查詢字元c在當前字串的位置
int find(const char *s, int pos = 0) const;//從pos開始查詢字串s在當前串中的位置
int find(const char *s, int pos, int n) const;//從pos開始查詢字串s中前n個字元在當前串中的位置
int find(const string &s, int pos = 0) const;//從pos開始查詢字串s在當前串中的位置
c.插入
s.insert(2,"sf"); //在2下標插入sf
d.刪除
s.erase(2,4); //刪除從2下標開始的4個字元
s.erase(2); //刪除從而下標開始的所有字元
s.erase(remove(s.begin(),s.end(),'a'),s.end); //刪除給定區間內所有的a
e.提取
s.substr(pos,len); //提取從下標pos開始的長度為len的字串
7.set
a.插入
s.insert(v.begin(),v,end()); //把vector中的元素插入集合
s.insert(a); //插入單個元素
b.查詢
s.count(b); //返回b出現的次數
s.find(b); //返回b所在位置的指標
c.刪除
s.erase(iterator) ,刪除定位器iterator指向的值
s.erase(first,second),刪除定位器first和second之間的值
s.erase(key_value),刪除鍵值key_value的值
(持續更新……)
幾個好用的副詞
1.relatively rel t vli 相對的例如 relatively good 相對來說比較好 that cell phone is relatively nice looking 那台手機相對來說好看點 2.extremely k stri mli 相當的例如 this sofa is ...
幾個好用的vim外掛程式
1.winmanager 可將檔案瀏覽器 buffer列表整合在側邊欄,它依賴於bufexplorer 2.nerdtree 樹狀目錄外掛程式,比winmanager的檔案瀏覽更美觀。3.txtbrowser 純文字瀏覽,為純文字自動生成目錄樹側邊欄 taglist視窗 語法高亮等,用來看txt文件...
介紹幾個好用的軟體
foxmail 比 outlook 好用。magic note 3.3 是一款在電腦上寫電子便筏的很好的軟體,以前我總是 用 記事,現在發現magic note 方便,但是不好的是,他的編輯介面裡 不能撤銷。比 cterm 2000 改進了好多,用起來方便多了。最近看到 自由也在用 上 了。tota...