AKSZ-STL
2024-06-12 22:03:03
发布于:广东
表达式转换
中缀表达式转后缀表达式
- 根据运算符的优先级移到对应的括号后面
- 将运算符移到对应的括号后面
- 去掉所有括号
Vector
是能自动调整大小的动态数组
vector <int> v; //定义一个整形的动态数组
vector <char> v; //定义一个字符型的动态数组
vector <data> v; //定义一个结构体类型的动态数组
vector <int> v(n); //n:大小
vector <int> v(n, m) //有n个m
vector <int>::iterator it; //迭代器定义
v.push_back(n); //塞n进去
v.pop_back(); //删最后的n
v.clear(); //清空
遍历vector
利用数组下标访问
for(int i = 0; i < v.size(); i++){
cout << v[i] << " ";
}
利用迭代器访问
//vector<int>::iterator it; //迭代器定义
for(auto it = v.begin(); it != v.end(); it++){ //auto可以自动识别类型
cout << *it << " ";
}
迭代器常用操作
begin()
指向容器的第一个元素的迭代器
end()
指向容器尾部的下一个元素的迭代器
++
将迭代器指向下一个位置
*
获取迭代器指向的元素
Set
是一种自动升序且不含重复元素的数据结构
set<int> se; //定义整形集合
se.insert(n); //插入n
se.erase(n); //删除值为n的所有元素,也能传迭代器
se.find(n); //查找值为n的元素,存在则返回该元素的迭代器,否则返回end()
se.empty(); //判空
se.size(); //大小
se.clear(); //清空
set<int>::iterator it; //迭代器定义
利用迭代器访问
//set<int>::iterator it; //迭代器定义
for(auto it = se.begin(); it != se.end(); it++){ //auto可以自动识别类型
cout << *it << " ";
}
se.lower_bound()
第一个大于等于x的迭代器
auto it = se.lower_bound(x)
Bitset
二进制集
bitset<10> s, t; //<>里的是二进制位数
可进行快速二进制计算
cin >> s >> t;
cout << (s & t) << endl;
Multiset
可重集
multiset<int> mt_se;
Map
键值对,键唯一
map<string, int> mp; //定义键为string,值为int的映射表
mp[s] = n; //在mp里面添加键为s,值为n的键值对
mp.erase(n); //删除键为n的所有元素,也能传迭代器
mp.find(n); //查找键为n的元素,存在则返回该元素的迭代器,否则返回end()
mp.empty(); //判空
mp.clear(); //清空
cout << mp[s]; //输出n
mp.size(); //大小
map<int>::iterator it; //迭代器定义
利用迭代器访问
//map<int>::iterator it; //迭代器定义
for(auto it = mp.begin(); it != mp.end(); it++){ //auto可以自动识别类型
cout << "Key: " << it->first << ",Value: " << it->second << endl;
}
pair
是一种迭代器
创建一个pair
pair<int, int> p = make_pair(x, x)
Unordered_map
无序映射表,哈希映射表
unordered_map<int, int> hash_mp;
比较快,时间复杂度
Multimap
可重映射表
multimap<int, int> mt_mp;
输出某个键的值时,输出第一个
比较少用
快捷遍历
直接用某个变量遍历容器
vector<int> v;
for(auto i:v) cout << i << endl;
set<int> se;
for(auto i:se) cout << i << endl;
map<int, int> mp;
for(auto i:mp) cout << i.first << " " << i.second << endl; //i.first是键,i.second是值
全部评论 1
召唤黄老师(不是
2024-06-13 来自 广东
0
有帮助,赞一个