![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
s651665496
这个作者很懒,什么都没留下…
展开
-
C++迭代器失效场景
一、序列式容器(数组式容器)对于序列式容器(如vector,deque),序列式容器就是数组式容器,删除当前的iterator会使后面所有元素的iterator都失效。erase方法可以返回下一个有效的iterator。for (iter = cont.begin(); iter != cont.end();){ (*it)->doSomething(); if (shouldDelete(*iter)) iter = cont.erase(iter); //e...原创 2022-02-17 15:44:24 · 806 阅读 · 0 评论 -
OJ练习题:点菜展示表(C++)
class Solution {public: vector<vector<string>> displayTable(vector<vector<string>>& orders) { unordered_map<int, map<string, int>> tblFoodCnt; unordered_set<string> nameSet; vector&...原创 2021-07-14 20:34:04 · 154 阅读 · 0 评论 -
OJ练习题:绝对差值和(1818)C++
class Solution {public: int minAbsoluteSumDiff(vector<int>& nums1, vector<int>& nums2) { int sum = 0; vector<int> stuVector = nums1; sort(stuVector.begin(), stuVector.end()); int baseDiff = 0...原创 2021-07-14 14:53:11 · 135 阅读 · 0 评论 -
C++ 【map和unordered_map区别】
map: map内部实现了一个红黑树,该结构具有自动排序的功能,因此map内部的所有元素都是有序的,红黑树的每一个节点都代表着map的一个元素,因此,对于map进行的查找,删除,添加等一系列的操作都相当于是对红黑树进行这样的操作,故红黑树的效率决定了map的效率。unordered_map: unordered_map内部实现了一个哈希表,因此其元素的排列顺序是杂乱的,无序的。// 示例代码(基于时间的键值存储)class TimeMap {public: /** Initialize ..原创 2021-07-13 16:55:02 · 122 阅读 · 0 评论 -
C++【vector使用】
以 C++ 定义数组的操作为例,在 C++ 中如果定义一个数组,可以采用如下方式:int a[n];这种定义数组的方法需要事先确定好数组的长度,即 n 必须为常量,这意味着,如果在实际应用中无法确定数组长度,则一般会将数组长度设为可能的最大值,但这极有可能导致存储空间的浪费。所以除此之外,还可以采用在堆空间中动态申请内存的方法,此时长度可以是变量:int *p = new int[n];这种定义方式可根据变量 n 动态申请内存,不会出现存储空间浪费的问题。但是,如果程序执行过程中出现空间不原创 2021-07-13 10:19:22 · 211 阅读 · 0 评论