简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
写在前面:1、使用范围for遍历容器的每个元素,需要使用auto& it引用元素的同一块内存空间,不要使用auto it因为范围for的原型就是容器迭代器遍历元素,将迭代器所致的元素值然后拷贝给it,所以it又是栈上的一块内存空间了。建议使用引用类型,若不需要修改则写成const auto &it,需要修改写出auto &it。2、关于array的swap的两个数组的...
非递归版:由于不管是先序遍历还是中序遍历以及后序遍历,我们都需要利用一个辅助栈来进行每个节点的存储打印,所以每个节点都要进栈和出栈,不过是根据那种遍历方式确定节点的进栈顺序,所以时间复杂度为O(n),同样空间复杂度也为O(n),n为结点数。层序遍历是通过队列来进行每个节点的存储打印的,所以时间复杂度和空间复杂度也与前三种遍历方式一样。递归版:空间复杂度与系统堆栈有关,系统栈需要记住每个节点...
返回类型和return语句return语句的功能就是终止当前程序的函数,返回调用函数的地方。语法形式:return;或者return expression;无返回值类型没有返回值的return语句只能返回类型是void函数。返回void的函数不要求非得有return语句,编译器会在void函数的最后一句加上一个return语句。可以使用return语句,在void函数中提前退出。与在迭代...
一直对于一些日期字符串中数字的提取比较头疼,现看到 sscanf 对于字符串中的内容提取较方便,学习记录如下。方便以后查询。
前言:今日刷题用priority_queue<int,vector<int>>来构建堆,然后加了一个函数对象greater<int>,然后把大根堆和大根堆搞错了。需要使用的头文件:#include <queue>优先队列的定义:它允许用户为队列中元素设置优先级,放置元素的时候不是直接放到队尾,而是放置到比它优先级低的元素前面,标准库默...
前言:首先清楚何谓稳定性?通俗地讲就是能保证排序前2个相等的数其在序列的前后位置顺序和排序后它们两个的前后位置顺序相同。在简单形式化一下,如果Ai = Aj,Ai原来在Aj位置前,排序后Ai还是要在Aj位置前。判断方法:对于不稳定的排序算法,只要举出一个实例,即可说明它的不稳定性;而对于稳定的排序算法,必>须对算法进行分析从而得到稳定的特性。需要注意的是,排序算法是否为稳定的...
前言:对于两个相同符号的数取余大家都很熟悉,但是对于一正一负的数取余呢?大家可能觉得会很陌生,今天在刷leetcode整数反转这道题的时候,想起了这个知识点,遂打算探讨一番。自然数取余定义分为两种:1)定义1:如果a和d是两个自然数,d非零,可以证明存在两个唯一的整数 q 和 r,满足a=qd+r且0 ≤ r < d(其中q为商,r为余数)。定义1一般作为数学中的取余法则,即两个数...
VS2019->工具->选项->源代码管理->插件管理详见下图