- vector容器
- vector的定义
- vector访问
- vector插入
- set容器
- set定义
- set建立
- set遍历
- set查找
- map容器
- map遍历
- sort ( ) 自定义排序
vectorv1; // 定义⼀个vector v1,定义的时候没有分配⼤⼩ cout << v1.size(); // 输出vector v1的⼤⼩,结果为0
vectorv1; v1.resize(8); //先定义⼀个vector变量v1,然后将⻓度resize为8,默认这8个元素都是0
vectorv(10); // 直接定义⻓度为10的int数组,默认这10个元素值都为0
vectorvector访问v3(100, 9); // 把100⻓度的数组中所有的值都初始化为0
// 访问的时候像数组⼀样直接⽤[ ]下标访问即可(也可以⽤迭代器访问) v[0] = 2; cout << v[0]; //返回值:2
// vectorvector插入::iterator it; for (auto it = v.begin(); it != v.end(); it++) { // 使⽤迭代器的⽅式访问vector cout << *it << " "; }
for (int i = 0; i < 10; i++) { a.push_back(i); // 在vector a的末尾添加⼀个元素i }
for (int i = 0; i < b.size(); i++) { b[i] = 15; }set容器 set定义
set会自动排序,自动去重
sets; s.insert(2); s.insert(-552); s.insert(20); s.insert(-2); s.insert(277); s.insert(277); for(auto x:s) cout< set建立 setset遍历s; // 定义⼀个空集合s for (auto it = s.begin(); it != s.end(); it++) { // ⽤迭代器遍历集合s⾥⾯的每⼀ 个元素 cout << *it << " "; }set查找s.find(2) // 查找 2 这个元素 找不到返回 s.end() 找到返回迭代器 // 因为s.end()表示s的最后1个元素的下1个元素所在的位置 // 如果s 中有0~7 八个元素 |0|1|2|3|4|5|6|7|end()| // 0的位置是begin()map容器如 map
m; 前面是键 后面是值 (和python) 中字典差不多
map 会⾃动将所有的键值对按照键从⼩到⼤排序map初始化默认值为 < int , string > {0,""}
mapmap遍历q; q["b"]=1; q["a"]=200; for(auto x : q) cout << x.first << ' ' << x.second << endl; // ⽤迭代器遍历,输出map中所有的元素,键⽤it->first获取,值⽤it->second获取 for (auto it = q.begin(); it != q.end(); it++) cout << it->first << " " << it->second << endl;// 输出map的元素个数 cout << q.size() << endlsort ( ) 自定义排序unordered_map 和 map (或者 unordered_set 和 set )的区别是, map 会按照键值对的键 key
进⾏排序( set ⾥⾯会按照集合中的元素⼤⼩进⾏排序,从⼩到⼤顺序),⽽ unordered_map (或者 unordered_set
)省去了这个排序的过程,如果偶尔刷题时候⽤ map 或者 set 超时了,可以考虑⽤ unordered_map (或者
unordered_set )缩短代码运⾏时间、提⾼代码效率⾄于⽤法和map 、 set 是⼀样的任意类型数组 ry[ ] vector map(按键排) 皆可sort
默认从小到大struct stu { // 定义⼀个结构体stu,number表示学号,score表示分数 int number; int score; }st[10]; bool cmp(stu a, stu b) { // cmp函数,返回值是bool,传⼊的参数类型应该是结构体stu类型 if (a.score != b.score) // 如果学⽣分数不同,就按照分数从⼤到⼩排列 return a.score > b.score; else // 如果学⽣分数相同,就按照学号从⼩到⼤排列 return a.number < b.number; } sort(st,st+10,cmp); // st 按 定义的cmp 排序欢迎分享,转载请注明来源:内存溢出
评论列表(0条)