![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++ 学习笔记
文章平均质量分 60
lyf-fancy
这个作者很懒,什么都没留下…
展开
-
Leetcode——用栈判断有效括号总结
valid-parentheses题目链接:https://www.nowcoder.com/practice/37548e94a270412c8b9fb85643c8ccc2?tpId=46&tqId=29158&tPage=7&rp=7&ru=%2Fta%2Fleetcode&qru=%2Fta%2Fleetcode%2Fquestion-ranki...原创 2020-03-05 16:02:11 · 200 阅读 · 0 评论 -
Leetcode——删除数组、链表的重复元素总结
1remove-duplicates-from-sorted-array题目链接:https://www.nowcoder.com/practice/a519784e89fb40199fbe7993786715b1?tpId=46&tqId=29153&tPage=7&rp=7&ru=/ta/leetcode&qru=/ta/leetcode/ques...原创 2020-02-28 15:47:49 · 196 阅读 · 0 评论 -
leetcode——最大间距
题目链接:https://leetcode-cn.com/problems/maximum-gap/要求:线性的时间和空间。运用桶排序的方法:步骤:1 先找出数组中的最大值和最小值;2 运用最大值和最小值,数组的大小计算桶中的区间大小,3 依据区间大小计算需要桶的个数;4 最大差值一定是后一桶的最小值减去前一个桶的最大值。class Solution {publ...原创 2020-02-26 15:28:17 · 237 阅读 · 0 评论 -
Leetcode ——二分法题目的总结
1Find Peak Element题目链接:https://leetcode-cn.com/problems/find-peak-element///两种方法:一:class Solution {public: int findPeakElement(vector<int>& nums) { int lo = 0; ...原创 2020-02-26 14:46:51 · 398 阅读 · 0 评论 -
Leetcode——字符串反转题目总结
151. Reverse Words in a String题目链接:https://leetcode-cn.com/problems/reverse-words-in-a-string/?utm_source=LCUS&utm_medium=ip_redirect_q_uns&utm_campaign=transfer2chinaclass Solution {pub...原创 2020-02-26 14:28:03 · 149 阅读 · 0 评论 -
Leetcode——LRU
https://leetcode-cn.com/problems/lru-cache/solution/lru-ce-lue-xiang-jie-he-shi-xian-by-labuladong/原创 2020-02-24 10:53:01 · 88 阅读 · 0 评论 -
编译器支持的常见的变量类型 以及常量的定义
常用的变量类型以及个类型的长度使用sizeof查看变量类型的长度:sizeof(变量类型)使用auto自动分配给变量类型auto flag=true;则运用sizeof(flag)查看字节的长度时为1,其为bool类型。...原创 2018-11-09 21:31:44 · 744 阅读 · 0 评论 -
静态数组与动态数组 c形式与c++形式的字符串
既然要学习数组,那么先来了解一下数组是什么,为什么要有数组的出现吧。数组:数组是一系列具有相同类型元素的集合。数组的出现是为了当定义较多变量时,使操作更简单化,直观化。静态数组与动态数组静态数组:在编译阶段,数组包含的元素数以及占用的内存量是不变的。可分为:一维数组与多维数组一维数组的定义:int numbers[200]={0};char mycharacters[5];多维...原创 2018-11-10 10:32:26 · 847 阅读 · 0 评论 -
运算符
运算符有很多种。下面是一个按位运算的小例子#include "stdafx.h"#include "iostream"#include "string"#include "bitset"using namespace std;int main(){ cout &lt;&lt; "please in原创 2018-11-10 22:25:13 · 78 阅读 · 0 评论 -
使用函数组织代码
前面我们学习的都只有一个main函数,但是当代码比较长时,应使用函数的调用,使代码更具有逻辑性、可读性。函数的编写类型函数的编写有很多种方法,下面介绍几种常用方法,分别用例子来表述:1 带有多个参数的函数计算圆柱的面积#include &amp;quot;stdafx.h&amp;quot;#include &amp;quot;iostream&amp;quot;#include &amp;quot;string原创 2018-11-13 15:11:27 · 134 阅读 · 0 评论 -
控制程序流程--循环、判断语句
前面学习的一些例子,他们都是按顺序执行语句的。而控制程序流程的语句,不但避免了程序只能从上往下执行,而且可以提供不同执行路径的条件语句和重复循环执行的语句。if语句循环有条件的执行多条语句先学习一下c_str():建议看一下下面的博客(不了解)http://www.cnblogs.com/qlwy/archive/2012/03/25/2416937.htmlhttps://www.cn...原创 2018-11-12 11:26:05 · 281 阅读 · 0 评论 -
类和对象——构造函数、析构函数、复制构造函数
类:要声明类,用class,注意区分大小写。类含有成员属性和方法。在声明类的末尾要加分号;对象:声明完类之后,它并不能对程序产生任何影响。只有依据类实例化对象,才可以访问类成员属性和方法。类实例化对象、动态分配内存与变量的对比:double pi=3.14;int* point1= new int[];delete [] point1;human woman;human* poi...原创 2018-11-14 14:37:55 · 343 阅读 · 0 评论 -
关于循环、判断的练习题
前面学习了循环、判断常用的形式,现在来动手自己联系编写一下吧练习的解决方案有很多种,如有错误,请多多指教。1 运用for循环,完成数组倒序的访问#include &quot;stdafx.h&quot;#include &quot;iostream&quot;#include &quot;string&quot;using namespace std;int main(){ int Buffer原创 2018-11-12 17:06:25 · 298 阅读 · 0 评论 -
继承、多态
常用的继承有三种:公有继承、保护继承、私有继承公有继承1 运用protected声明类的属性时,只允许友元类和派生类访问它,禁止在类外部通过实例对象访问。下面用一个例子解释公有继承的应用以及protected访问限定符的作用#include &amp;quot;stdafx.h&amp;quot;#include &amp;quot;iostream&amp;quot;#include &amp;quot;strin原创 2018-11-14 21:20:49 · 122 阅读 · 0 评论 -
宏 、模板
预处理器在编译之前,根据程序员的指示决定要编译的内容。宏宏定义一般有两种,定义函数和常量当文中用到较多相同的常量时:应该用宏定义在宏定义函数时:应该多用括号。使用宏避免多次包含1 c++的头文件一般用来声明函数和类,若有一个class2类要用到class1中的类的话,应该用宏,避免多次包含,提高效率2 注意使用宏一般不考虑数据数据类型3 尽量的不要自己编写宏函数,尽可能的使用con...原创 2018-11-16 11:11:54 · 514 阅读 · 0 评论 -
c++字符串处理集锦
https://www.cnblogs.com/lidabo/p/3487043.html数字转换字符串https://blog.csdn.net/u010455041/article/details/50097251字符串 数字之间的转换https://blog.csdn.net/sinat_40872274/article/details/81367815...原创 2019-03-19 15:51:41 · 228 阅读 · 0 评论 -
vivo在线 面试问题
堆和栈一般用到什么地方Static 什么意思迭代器链表倒序输出怎么判断一个数多少位结构体和类的区别模版一般用到什么地方原创 2019-04-26 20:13:42 · 842 阅读 · 0 评论 -
数据结构——字符串——剑指offerpublic static void merge(int[] A1,int[] A2,int lengthA1,int lengthA2){int indexA1=
题目:有两个排序的数组A1和A2,内存在A1的末尾有足够的空余空间容纳A2。请写一个函数,把A2的所有数字插入A1中,并且所有的数字是排序的。更好的办法是从尾到头比较A1和A2的数字,并把较大的数字,复制到A1中的合适位置。https://blog.csdn.net/qq_40340448/article/details/80646689void merge(int[] array...原创 2019-05-15 21:29:58 · 185 阅读 · 0 评论 -
数据结构——链表(1)
因为链表相比于哈希表、有向图的代码短,所以频繁在面试中被考察:为什么会出现链表?由于数组的大小不能扩展,使用一个新的数据结构来解决此问题,这个新的数据结构就是链表。即采用化整为零的思路,在原来不同的情况下,去外部扩展新的分基地(即新的内存空间),然后通过连接两个内存空间的这种方法,即为链表。单链表(只有一个指针域)的一些操作:关于单链表的存取,有时候我们在单链表的第一个结...原创 2019-05-11 16:22:29 · 101 阅读 · 0 评论 -
数据结构——链表(2)
一 单链表的创建创建一个链表基本上由一下四部组成:1 定义头指针2 创建第一个结点,将头指针只想第一个结点3 在创建一个结点,第一个结点尾部指向下一个结点4 最后一个结点的指针域为空结点程序的基本步骤为:1 创建结构体,构造结点struct Node{ int data; Node* next;}2使用堆内存创建一个节点链表的存储比较灵活,一般...原创 2019-05-11 19:39:51 · 133 阅读 · 0 评论 -
关键字——typedef 与 #define
typedef 可以为某一个类型自定义名称,两者在三方面不同:(1)typedef只能为现有的类型名创建名称,不能用于值。(2)#define是C语言中定义的语法,是预处理指令,在预处理时进行简单而机械的字符串替换,不作正确性检查,只有在编译已被展开的源程序时才会发现可能的错误并报错。typedef是关键字,在编译时处理,有类型检查功能。它在自己的作用域内给一个已经存在的类型一个别名,但不...原创 2019-05-25 10:52:06 · 252 阅读 · 0 评论 -
关键字——enum 枚举类型
http://c.biancheng.net/view/1367.html注意:(1)不能直接将整数值直接赋值给枚举类型的变量,(2)可以用整数值或者是符号测试枚举量。(3)枚举量列出用大括号。...原创 2019-05-25 11:07:41 · 541 阅读 · 0 评论 -
数据结构——链表——华为机试代码编写及详细分析
题目:题目描述输入一个单向链表和一个节点的值,从单向链表中删除等于该值的节点,删除后如果链表中无节点则返回空指针。链表结点定义如下:structListNode{intm_nKey;ListNode*m_pNext;};详细描述:本题为考察链表的插入和删除知识。链表的值不能重复构造过程,例如1 <- 23 <- ...原创 2019-05-12 09:07:50 · 684 阅读 · 0 评论 -
数据结构——链表(3)——链表的逆序
链表的逆序:链表的只逆序输出,链表不逆序,第二种是链表的逆序。、面试中经常考察链表的逆序。https://www.jianshu.com/p/8b6f4dbe497ehttps://blog.csdn.net/liu583685/article/details/78125454参考博客:https://blog.csdn.net/m0_37787222/article/detai...原创 2019-05-12 11:39:30 · 681 阅读 · 0 评论 -
关键字——static
static 的意义和作用在面试中,经常被问到;主要作用有:1 静态局部变量在调用函数时第一次进入到static定义的变量中被初始化。那么它跟定义一个全局变量有什么区别呢,同样是初始化一次但是,使用全局变量的话,变量就不属于函数本身了,不再仅受函数的控制,给程序的维护带来不便。静态局部变量正好可以解决这个问题。静态局部变量保存在全局数据区,而不是保存在栈中,每次的值保持到下一次调...原创 2019-05-21 20:13:43 · 57 阅读 · 0 评论 -
数据结构——二叉搜索树——剑指offer_二叉树 寻找二叉搜索树第K大的节点
题目:给定一棵二叉搜索树,请找出其中的第K大的结点。例如下图中的二叉树,按加点数值大小顺序第三个结点的值是4。思路:二叉搜索树的一个重要性质就是它的中序遍历是排序的,因此这道题目只需要用中序遍历算法遍历一棵二叉搜索树,就很容易找出它的第K大结点。中序遍历用递归实现比较容易,但要想清楚的是遍历到一个根结点的时候要做的是什么?中序遍历二叉树打印的时候我们在递归完左子树之后打印根结点,本题目要求...转载 2019-05-26 09:58:35 · 190 阅读 · 0 评论 -
数据结构——二叉搜索树(BST)(建立、插入、查找、删除)及遍历
一 、二叉搜索树1 二叉搜索树的性质对于树中的每个结点,左子树中所有相的值小于跟根节点的值,右子树中所有相的值大于根节点的值2 二叉树搜索树的建立类似于二叉树的建立,再建立左右子树之前需要判断输入值的相对于根节点的大小创建二叉搜索树struct BinaryTree{ int data; BinaryTree* left; BinaryTree* rig...原创 2019-05-26 15:58:48 · 739 阅读 · 0 评论 -
数据结构——二叉树的深度
一、二叉树的最大深度int maxDepth(TreeNode *root) { if(root == NULL) return 0; int left = maxDepth(root->left) int right = maxDepth(root->right) return l...原创 2019-05-26 16:45:28 · 1646 阅读 · 0 评论 -
创建对象时,=null 和new的区别
1.=null只是声明一个对象,并不实际占用空间。如:HBPWDto hbpwDto = null; 相当于HBPWDto hbpwDto ;2.new,把对象实例化了,这个对象会一直占用空间(虽然不一定使用),直到被回收。如果只是做赋值操作,只需要声明就行了 ,在需要的时候再赋予具体的值如果是通过该对象做取值操作,就需要一开始就实例化,否则报nulpointException。...转载 2019-05-26 17:10:56 · 545 阅读 · 0 评论 -
数据结构——二叉树的路径问题_剑指offer和leetcode中编程题目比较
剑指offer//第一种解决方法class Solution {public: vector<vector<int> > buffer; vector<int> temp; vector<vector<int> > FindPath(TreeNode* root,int expectNumber) {...原创 2019-05-26 21:42:16 · 157 阅读 · 0 评论 -
数据结构——二叉树_leetcode Populating Next Right Pointers in Each Node
Given a binary tree struct TreeLinkNode { TreeLinkNode *left; TreeLinkNode *right; TreeLinkNode *next; }Populate each next pointer to point to its next right node. If...原创 2019-05-27 20:14:08 · 78 阅读 · 0 评论 -
数据结构——二叉树_leetcode Populating Next Right Pointers in Each Node ii
Given a binary treestruct Node { int val; Node *left; Node *right; Node *next;}Populate each next pointer to point to its next right node. If there is no next right node, the next point...原创 2019-05-27 20:32:07 · 83 阅读 · 0 评论 -
break和continue的区别
1for循环中break直接结束循环,continue结束本次循环,则继续开始下一次循环参考:https://www.cnblogs.com/sghy/p/7827255.html原创 2019-06-12 19:17:39 · 115 阅读 · 0 评论 -
反向迭代器(rbegin, rend)及其与(begin, end)的关系
https://blog.csdn.net/love_fdu_llp/article/details/52602915转载 2019-06-22 10:06:58 · 1176 阅读 · 0 评论 -
算法——动态规划刷题总结
https://www.cnblogs.com/jiangchen/p/5820378.html原创 2019-06-22 15:45:39 · 235 阅读 · 0 评论 -
C语言中无符号数和有符号数之间的运算
https://www.cnblogs.com/qingergege/p/7507533.htmlhttps://blog.csdn.net/tantao900827/article/details/49045997转载 2019-06-26 11:09:31 · 902 阅读 · 0 评论 -
动态规划——字典序 (Leetcode nextPermutation and Permutation)
我们先看一个例子。示例: 1 2 3的全排列如下:1 2 3 , 1 3 2 , 2 1 3 , 2 3 1 , 3 1 2 , 3 2 1我们这里是通过字典序法找出来的。那么什么是字典序法呢?从上面的全排列也可以看出来了,从左往右依次增大,对这就是字典序法。可是如何用算法来实现字典序法全排列呢?我们再来看一段文字描述:(用字典序法找124653的下一个排列)你主要看红...转载 2019-06-23 09:18:15 · 217 阅读 · 0 评论 -
数据结构——多态和虚函数
http://c.biancheng.net/view/2294.html原创 2019-07-08 09:06:10 · 169 阅读 · 0 评论 -
C++ 结构体struct和共同体union的区别
https://blog.csdn.net/shihuboke/article/details/79303539转载 2019-07-03 15:26:17 · 287 阅读 · 0 评论 -
函数指针的定义
参考:https://www.cnblogs.com/coolYuan/p/9071543.html原创 2019-07-13 11:03:10 · 92 阅读 · 0 评论