随笔分类 -  STL

摘要:#include <iostream> #include <sstream> #include <fstream> #include <string> #include <vector> using namespace std; string Trim(string &str) { //在字符串st 阅读全文
posted @ 2020-09-19 18:14 心媛意码 阅读(437) 评论(0) 推荐(0) 编辑
摘要:// // // 泛型编程是一种思想,在C++中的体现如下: // 模板(template):模板函数,模板类 // STL(标准模板库):算法,容器,迭代器 // // 泛型的基本思想: 像类一样,泛型也是一种抽象数据类型,但是泛型不属于面向对象,它是面向对象的补充和发展。在面向对象编程中,当算法 阅读全文
posted @ 2020-06-30 22:19 心媛意码 阅读(160) 评论(0) 推荐(0) 编辑
摘要:数组的时间复杂度 操作 时间复杂度 头插(vector没有此操作) O(1) push_back O(1) insert O(n) erase O(n) 随机访问 O(1) 链表的时间复杂度 操作 时间复杂度 push_front(头插) O(1) push_back O(1) insert O(1 阅读全文
posted @ 2020-06-17 00:47 心媛意码 阅读(2188) 评论(0) 推荐(0) 编辑
摘要:1.为何vector的push_back/insert操作可能会导致迭代器失效? 如果vector的push_back/insert操作导致vector需要改变它的capacity时,会在另一块较大的内存区域去分配新的空间(一般是原来空间的2倍),并把原来位置的内容拷贝过来,最后再把原来位置的存储给 阅读全文
posted @ 2020-06-09 21:56 心媛意码 阅读(316) 评论(0) 推荐(0) 编辑
摘要:1.vector是动态连续数组;list是双链表;deque是双端队列. 2.关联容器set, map,multiset,multimap都是有序的;而unordered_xxx是无序的. 3.STL进行erase操作有一些区别: //vector/deque 去偶数,只能erase返回下一个ite 阅读全文
posted @ 2020-06-05 19:58 心媛意码 阅读(155) 评论(0) 推荐(0) 编辑
摘要://一些和vector,list类似的操作就没有总结#include <set> #include <list> #include <iostream> using namespace std; void count_set(const set<int> &set1, const set<int> 阅读全文
posted @ 2020-04-23 13:35 心媛意码 阅读(213) 评论(0) 推荐(0) 编辑
摘要:#include <list>#include <iostream>using namespace std; //重载<<操作符. 发现重载<<时,第一个参数要为ostream类型,具体原因还没有了解. ostream & operator<<(ostream& ostr, const list<i 阅读全文
posted @ 2020-04-14 22:07 心媛意码 阅读(151) 评论(0) 推荐(0) 编辑
摘要:#include <iostream> #include <vector> using namespace std; void print_vec(const std::vector<int>& vec) { for (auto x : vec) { std::cout << ' ' << x; } 阅读全文
posted @ 2020-04-13 11:38 心媛意码 阅读(239) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示