文章说明
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的风格入手。自己去实现这些数据结构。