随笔分类 - STL
摘要:#include <iostream> #include <sstream> #include <fstream> #include <string> #include <vector> using namespace std; string Trim(string &str) { //在字符串st
阅读全文
摘要:// // // 泛型编程是一种思想,在C++中的体现如下: // 模板(template):模板函数,模板类 // STL(标准模板库):算法,容器,迭代器 // // 泛型的基本思想: 像类一样,泛型也是一种抽象数据类型,但是泛型不属于面向对象,它是面向对象的补充和发展。在面向对象编程中,当算法
阅读全文
摘要:数组的时间复杂度 操作 时间复杂度 头插(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
阅读全文
摘要:1.为何vector的push_back/insert操作可能会导致迭代器失效? 如果vector的push_back/insert操作导致vector需要改变它的capacity时,会在另一块较大的内存区域去分配新的空间(一般是原来空间的2倍),并把原来位置的内容拷贝过来,最后再把原来位置的存储给
阅读全文
摘要:1.vector是动态连续数组;list是双链表;deque是双端队列. 2.关联容器set, map,multiset,multimap都是有序的;而unordered_xxx是无序的. 3.STL进行erase操作有一些区别: //vector/deque 去偶数,只能erase返回下一个ite
阅读全文
摘要://一些和vector,list类似的操作就没有总结#include <set> #include <list> #include <iostream> using namespace std; void count_set(const set<int> &set1, const set<int>
阅读全文
摘要:#include <list>#include <iostream>using namespace std; //重载<<操作符. 发现重载<<时,第一个参数要为ostream类型,具体原因还没有了解. ostream & operator<<(ostream& ostr, const list<i
阅读全文
摘要:#include <iostream> #include <vector> using namespace std; void print_vec(const std::vector<int>& vec) { for (auto x : vec) { std::cout << ' ' << x; }
阅读全文