AKSZ-stl容器
2024-05-05 17:40:19
发布于:广东
STL容器
表达式
1.前缀表达式(波兰表达式)
2.中缀表达式
3.后缀表达式(逆波兰表达式)
中缀转后缀
根据运算优先级对中缀表达式加括号
将运算符移到对应的括号后面
去掉所有括号
vector
STL-standard template libarary
vector是一个能够自动调节大小的动态数组,可以在运行是动态地增加或减少其大小
vector <int> v;
vector <char> v;
vector <data> v;
vector <int> v[105];
vector <int> v(n);
vector <int> v(n,value);
//v为变量名
迭代器
定义
类型 ::iterator 变量名
begin():第一个元素
end():尾部元素的下一个位置
++:将指示器指向下一个位置
*:获取迭代器指向的元素
vector <int>::iterator it;
for(it=v.begin();it != v.end();it++){
cout<<*it<<" ";
}
//或
for(auto i:v){
...
}
set
自动升序&不重复
交集∩:重合部分
并集∪:总和
集合set遍历
set <int> se;
set <int> ::iterator it;
size():数据个数
insert(x):插入x
erase(x):删除值为x的所有元素
find(x):存在x返回该元素迭代器,否则返回end()
empty():是否为空数据
count(x):1在0不在
s.lower_bound(s.begin(),s.end(),x);
map
map<string,int> mp;
map<string,int> ::iterator it;
mp["xiaoma"]=89;
mp["maxiao"]=91;
cout<<mp["xiaoma"];
//会输出89
for(it=mp.begin();it != mp.end();it++){
cout<<"Key"<<it->first<<",Value:"<<it->second<<endl;
}
//集合map遍历
size():数据个数
erase(x):删除值为x的所有元素
find(x):存在x返回该元素迭代器,否则返回end()
empty():是否为空数据
if(mp.end(x)!=mp.end())//查找到了
mutimap/mutiset(可重)
这里空空如也
有帮助,赞一个