暂无搜索历史
对于一般人来说模拟实现的栈的底层就是一个数组,让数组尾部做栈顶。无论是数组栈还是链式栈,很多的东西都是和顺序表和链表是类似的
前缀和与差分的核心思想是预处理,可以在暴力枚举的过程中,快速给出查询的结果,从而优化时间复杂度。由于前缀和和差分在预处理的时候一般需要定义额外的数组来存储预处理...
枚举 顾名思义,就是把所有情况全都罗列出来,然后找出符合题目要求的那一个。因此,枚举是一种纯暴力的算法
list的结构是个带头双向循环链表,每个数据是存储在一个单独的节点内,这个节点除了存储数据还有两个指针分别指向前一个和后一个节点
解题思路 由于数组是非严格递增的,重复的元素必然是相邻的。我们可以用两个指针:
涉及的类型与转换逻辑 代码中传入 push_back 的是字符串字面量(如 “1111…”),其类型是 const char*;而 yunze::vect...
想要模拟实现vector就要了解vector的底层,而想要了解vector的底层就要了解STL中vector的源码。一般看源码看两个版本,一个是SGI版本(Li...
C++的交换也不用自己写,直接用库里面实现的函数模板就好,任何类型都可以交换
杨辉三角是一个 “二维变长数组”:第 i 行有 i+1 个元素(第 0 行 1 个,第 1 行 2 个,…,第numRows-1行numRows个),且是一...
先看图中vector的模板声明: class T:这是元素类型的参数。我们可以传入任意类型(如int、double、自定义类Person等),vector...
选择排序的基本思想: 每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完
在该图中,用绿色标记度为2的结点,红色标记度为1的结点,黑色标记度为0的结点,二叉树的结点只有三种情况:度为0,1,2。这里认为度为0的节点总数是n0,度为...
排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作
用链表来表示一棵二叉树,即用链来指示元素的逻辑关系。通常的方法是链表中每个节点由三个域组成,数据域和左右指针域,左右指针分别用来给出该结点的左孩子和右孩子所在的...
s2后给的字符串不是存到string对象本身的空间上面的,而是存在该对象指向的堆空间上,所以这里s1对象和s2对象的大小是没有任何区别的。根据其成员变量,理...
max_size接口的作用是返回该string最大有多长,这个长度根据不同平台的值是不同的。我感觉其意义不大,这里32位平台下最大是21亿多字节(已经2个G...
STL(standard template libaray - 标准模板库):是C++标准库的重要组成部分,不仅是一个可复用的组件库,而且是一个包罗数据结构与算...
如果在C++中,也能够存在这样一个模具,通过给这个模具中填充不同材料(类型),来获得不同材料的铸件(即生成具体类型的代码),那将节省许多头发。巧的是前人早已...
这里有两个类A,B,此时有一个函数既要访问A,也要访问B,就要使用友元了,一个函数是能够成为多个类的友元的
成员变量的整体定义也可以理解为是d1对象的整体定义 补充一下:声明是不开空间的,定义才会开空间,初始化列表是这三个特殊成员变量定义的地方
暂未填写公司和职称