文章說明
ACM目前可以用c,c++,java三種語言(藍橋杯現在又開了python 2019),像我這種C++文件頭c語言風格出身的人,在接觸過python後就想多蹭蹭STL的好處了。STL用好了會非常的方便。
這是我通過不斷學習所總結出來的一些注意事項和知識點。將持續更新(TODO)
count()
解釋
首先這個函數需要 <algorithm>文件頭
它的格式是count(begin(),end(),value)如
#include <iostream>
#include <algorithm>
#include <vector>
vector<string> v;
int main()
{
v.push_back("asdf");//在容器v後端插入數據
v.push_back("asdf");
v.push_back("affff");
cout<<count(v.begin(),v.end(),"asdf")<<endl;//輸出2
return 0;
}
注意
count它不是一個內置函數,不像python那樣。
iterator
解釋
這是一個迭代器可用於容器們的遍歷
注意它的類型要和容器的類型一樣
#include <iostream>
#include <algorithm>
#include <vector>
vector<string> v;
vector<string>::iterator it;
int main()
{
v.push_back("asdf");//在容器v後端插入數據
v.push_back("asdf");
v.push_back("affff");
for(it=v.begin();it!=v.end();it++)
cout<<*it<<endl;//這裏要用*it
return 0;
}
注意
it 似乎不能單用,要不*it,要不&it,要不it-v.begin()變成一個真正的整型
STL總結
STL用好了真的會很方便,但是初學的時候還是建議從c的風格入手。自己去實現這些數據結構。