C++数据结构
文章平均质量分 59
C++数据结构
柳瘦
大自然的搬运工
展开
-
C++特性-堆和优先队列
通过vector 建立堆 默认最大堆 1、建立:make_heap:在容器范围内,就地建堆,保证最大值在所给范围的最前面,其他值的位置不确定 vector<int> nums = {4, 5, 1, 3, 2}; make_heap(nums.begin(), nums.end()); 2、弹出:pop_heap:将堆顶(所给范围的最前面)元素移动到所给范围的最后,并且将新的最大值置于所给范围的最前面 pop_heap(nums.begin(), nums.end()); nums.pop_b原创 2021-06-04 16:38:10 · 129 阅读 · 0 评论 -
C++特性-Lambda表达式
举例 内容 代码 备注 捕获外部变量 auto f = [a] { cout << a << endl; };a = 321;f(); // 输出:123 值捕获,拷贝的方法 捕获外部变量 auto f = [&a] { cout << a << endl; };a = 321;f(); // 输出:321 引用捕获,捕获绑定的变量 捕获外部变量 auto f = [=] { cout << a <<原创 2021-05-20 10:40:54 · 98 阅读 · 0 评论 -
C++特性-数学公式
1、sqrt end = (long long)sqrt(c);原创 2021-04-28 16:35:40 · 244 阅读 · 0 评论 -
C++特性-构造函数/析构函数
leetcode208题 析构函数/构造函数,待更新 class TrieNode { public: vector<TrieNode*> children; bool isWord; TrieNode() : isWord(false), children(26, nullptr) { } ~TrieNode() { for (auto& c : children) delete c; } };原创 2021-04-14 20:38:43 · 59 阅读 · 0 评论 -
C++数据结构-queue和stack和priority_queue
queue<TreeNode*> q; q.push(root); q.size() q.empty() tmp = q.front(); q.pop(); class Solution { public: vector<vector<int>> levelOrder(TreeNode* root) { vector <vector <int>> ret; if(root == NULL) {原创 2020-12-29 22:46:13 · 211 阅读 · 0 评论 -
C++数据结构-string
长度 string str = "Test string"; cout << str.length() << endl; cout << str.size() << endl;原创 2020-12-24 23:33:46 · 497 阅读 · 2 评论 -
C++数据结构-unordered_map
unordered_map unordered_map<int,int> record; //有点hash的感觉了 record.find(complement) != record.end() //查找 record[nums[i]] = i; //添加 map原创 2020-12-23 23:56:39 · 461 阅读 · 0 评论 -
C++数据结构-vector
https://www.runoob.com/w3cnote/cpp-vector-container-analysis.html 一维数组的使用 vector<int>obj;//创建一个向量存储容器 int 添加 obj.push_back(i); //最后插入个i 删除 obj.pop_back(); //去掉数组最后一个值 obj.clear();//清除容器中所以数据 排序 sort(obj.begin(),obj.end());//从小到大 #include <algo原创 2020-12-20 22:53:19 · 235 阅读 · 1 评论