C++
文章平均质量分 74
C++学习笔记
温酒煮青梅
初级打工人
展开
-
ACM标准输入输出【输入不同类型数据】【输出调整精度】
文章目录0 - 前言1 - 输入1-1 确定个数变量(输入1次)1-2 确定个数变量(输入n次)1-3 不定个数变量1-4 不定个数变量(以某标志结束)1-5 定长数组1-6 字符1-7 字符串2 - 输出0 - 前言ACM模式下,要手动处理输入输出(后台测试相当于有个人在键盘上一个个敲测试案例,根据屏幕上显示的内容判断代码是否正确),也就是说,ACM模式只是在黑盒测试,并不是像核心代码模式一样检查代码内的变量。本文着重于总结ACM模式中各种输入与输出问题参考:ACM标准输入输出C/C++版A原创 2021-05-18 13:58:59 · 450 阅读 · 0 评论 -
13 STL【容器适配器简介】【适配器分配】
文章目录0 - 前言1 - 什么是容器适配器2 - 容器适配器种类0 - 前言参考: 什么是适配器,C++ STL容器适配器详解1 - 什么是容器适配器简单的理解容器适配器,其就是将不适用的序列式容器(包括 vector、deque 和 list)变得适用。容器适配器的底层实现就是通过封装某个序列式容器,并重新组合该容器中包含的成员函数,使其满足某些特定场景的需要。容器适配器本质上还是容器,只不过此容器模板类的实现,利用了大量其它基础容器模板类中已经写好的成员函数。当然,如果必要的话,容器适转载 2021-04-27 15:58:42 · 161 阅读 · 0 评论 -
12 STL【unordered_map介绍】【unordered_map获取/添加/删除元素 成员函数】【unordered_multimap】【unordered_set】
文章目录0 - 前言1 - unordered_map成员函数2 - unordered_map迭代器3 - unordered_map获取元素4 - unordered_map insert()5 - unordered_map emplace() emplace_hint()6 - unordered_map删除元素7 - unordered_multimapunordered_multimap成员函数8 - unordered_setunordered_set成员函数0 - 前言C++ ST转载 2021-04-24 10:57:06 · 6315 阅读 · 1 评论 -
11 STL【无序容器介绍】
文章目录0 - 前言1 - 什么是无序容器2 - 无序容器种类0 - 前言参考:C++ STL无序容器(哈希容器)是什么?1 - 什么是无序容器注意,无序容器是 C++ 11 标准才正式引入到 STL标准库中的,这意味着如果要使用该类容器,则必须选择支持 C++ 11 标准的编译器。和关联式容器一样,无序容器也使用键值对(pair 类型)的方式存储数据。关联式容器的底层实现采用的树存储结构,更确切的说是红黑树结构;无序容器的底层实现采用的是哈希表的存储结构。C++ STL 底层转载 2021-04-24 10:52:15 · 357 阅读 · 0 评论 -
10 STL关联式容器自定义排序规则【函数对象】【常用排序规则】
文章目录0 - 前言1 - 使用函数对象1 - 1 什么是函数对象1 - 2 STL中的函数对象类模板1 - 3 使用函数对象规定容器排序规则2 - 重载关系运算符实现自定义排序0 - 前言参考:C++ STL关联式容器自定义排序规则(2种方法)总的来说,为关联式容器自定义排序规则,有以下 2 种方法。1 - 使用函数对象无论关联式容器中存储的是基础类型(如 int、double、float 等)数据,还是自定义的结构体变量或类对象(包括 string 类),都可以使用函数对象的方式为该容器自转载 2021-04-22 10:43:40 · 845 阅读 · 0 评论 -
9 STL【set介绍】【set创建】【添加/删除set元素】【multiset】
文章目录0 - 前言1 - set是什么2 - set的创建3 - set成员函数4 - 迭代器5 - set添加元素insertemplaceemplace_hint6 - set删除元素eraseclear7 - multiset7 - 1 创建multiset7 - 2 multiset成员函数0 - 前言参考:C++ STL set容器完全攻略(超级详细)1 - set是什么和 map、multimap 容器不同,使用 set 容器存储的各个键值对,要求键 key 和值 value 必须转载 2021-04-19 21:49:23 · 2164 阅读 · 0 评论 -
8 STL【map介绍】【map创建/成员函数/迭代器】【map键值对插入】【multimap介绍】
文章目录0 - 前言1 - 什么是map2 - 创建map3 - map成员函数4 - map迭代器5 - map获取键对应的值6 - map插入新键值对emplace和emplace_hint7 - multimap7 - 1 创建multimap7 - 2 multimap成员方法0 - 前言参考:C++ STL map容器详解1 - 什么是map作为关联式容器的一种,map 容器存储的都是 pair 对象,也就是用 pair 类模板创建的键值对。其中,各个键值对的键和值可以是任意数据类型,转载 2021-04-18 16:32:58 · 756 阅读 · 0 评论 -
7 STL【list介绍】【list创建/迭代器/成员函数/底层实现】【访问/添加/删除list元素】【forward_list】
文章目录0 - 前言1 - list是什么2 - 创建list3 - list成员函数4 - list迭代器5 - list底层实现6 - 访问list元素7 - list添加元素insertsplice8 - list删除元素9 - forward_list0 - 前言参考:C++ list(STL list)容器完全攻略(超级详细)1 - list是什么STL list 容器,又称双向链表容器,即该容器的底层是以双向链表的形式实现的。这意味着,list 容器中的元素可以分散存储在内存空间里,转载 2021-04-18 11:10:13 · 325 阅读 · 0 评论 -
1-5 代码移植clion【Clion同一工程编译多个文件(含main函数)】【windows下运行Clion编译出来的exe文件】【Clion移植代码报错】
文章目录0 - 前言1 - Clion同一工程编译多个文件(含main函数)2 - 运行Clion编译出来的exe文件3 - Clion移植代码报错0 - 前言这个C++百万并发网络通信的项目本身是VS平台下编写,但是我很喜欢JetBrains系列的IDE,所以想把代码移植到Clion中。但是网上关于Clion代码移植的资料并不是很多,在查询以后,总结成本文1 - Clion同一工程编译多个文件(含main函数)一个很现实的问题是Clion使用Cmake编译,Cmake会生成一个CmakeList原创 2021-04-17 21:10:45 · 2538 阅读 · 2 评论 -
力扣Hot100-22 括号生成【递归三步法】
力扣Hot100-22 括号生成文章目录力扣Hot100-22 括号生成全部刷题与学习记录原题目考查知识点好的解法全部刷题与学习记录【C++刷题学习笔记目录】原题目题目地址:22. 括号生成数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。示例 1:输入:n = 3输出:["((()))","(()())","(())()","()(())","()()()"]示例 2:输入:n = 1输出:["()"]考查知识点递归应用好的原创 2021-04-15 22:00:08 · 263 阅读 · 0 评论 -
6 STL【deque介绍】【deque创建/成员函数/迭代器/底层实现原理】【访问deque内元素】【deque元素添加/删除】
文章目录0 - 前言1 - deque是什么2 - 创建deque3 - deuqe成员函数4 - deque迭代器5 - deuqe底层实现原理6 - 访问deque内的元素7 - deque添加/删除元素0 - 前言参考:C++ STL deque容器(详解版)1 - deque是什么deque 是 double-ended queue 的缩写,又称双端队列容器。deque 容器和 vecotr 容器有很多相似之处,比如:deque 容器也擅长在序列尾部添加或删除元素(时间复杂度为O(转载 2021-04-14 16:37:18 · 650 阅读 · 0 评论 -
力扣Hot100-19删除链表倒数第N个节点【双指针】【递归】
力扣Hot100-19 删除链表倒数第N个节点文章目录力扣Hot100-19 删除链表倒数第N个节点全部刷题与学习记录原题目考查知识点自己的第一遍解法好的解法双指针递归全部刷题与学习记录【C++刷题学习笔记目录】原题目题目地址:19. 删除链表的倒数第 N 个结点给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。**进阶:**你能尝试使用一趟扫描实现吗?输入:head = [1,2,3,4,5], n = 2输出:[1,2,3,5]输入:head = [1],原创 2021-04-14 09:07:24 · 389 阅读 · 0 评论 -
力扣Hot100-11盛最多水的容器【双指针法】
力扣Hot100-11 盛最多水的容器文章目录力扣Hot100-11 盛最多水的容器全部刷题与学习记录原题目考查知识点好的解法解法1:双指针法解法2:优化双指针全部刷题与学习记录【C++刷题学习笔记目录】原题目题目地址:11. 盛最多水的容器给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。**原创 2021-04-12 21:41:06 · 266 阅读 · 0 评论 -
5 STL【vector介绍】【创建/添加/插入/删除】【迭代器】【vector成员函数】【访问vector】【释放vector内存】
文章目录0 - 前言1 - vector是什么2 - 创建vector3 - vector成员函数4 - vector迭代器5 - 访问vector元素6 - vector底层实现机制7 - 添加元素(push_back emplace_back)8 - 插入元素(insert emplace)9 - 删除元素10 - 释放内存11 - vector< bool >0 - 前言参考:http://c.biancheng.net/view/6749.htmlhttp://c.bianch转载 2021-04-12 17:15:58 · 875 阅读 · 0 评论 -
C++实现循环链表操作【创建】【遍历】
文章目录0 - 前言1 - 创建循环链表2 - 访问循环链表0 - 前言参考:https://blog.csdn.net/jyzeng1989/article/details/89963964插入和删除循环链表节点请看上面博文今天做了一道循环链表的题目,发现创建时的时候麻爪了,亡羊补牢一下,顺带看一下链表的其他操作下面是链表节点的定义:struct ListNode { int val; ListNode* next; ListNode() : val(0), nex原创 2021-04-11 19:59:07 · 1658 阅读 · 0 评论 -
力扣Hot100-5最长回文子串【动规五步法】
力扣Hot100-5 最长回文子串文章目录力扣Hot100-5 最长回文子串全部刷题与学习记录原题目考查知识点好的解法全部刷题与学习记录【C++刷题学习笔记目录】原题目题目地址:5. 最长回文子串给你一个字符串 s,找到 s 中最长的回文子串。示例 1:输入:s = "babad"输出:"bab"解释:"aba" 同样是符合题意的答案。示例 2:输入:s = "cbbd"输出:"bb"考查知识点动态递归好的解法以往动态递归的题目中,题目给出一维环境(如斐波那契数),原创 2021-04-10 19:52:36 · 294 阅读 · 0 评论 -
4 STL【array介绍】【访问array单个/多个元素】【array成员函数】
文章目录0 - 前言1 - array是什么2 - 使用array3 - 访问array元素3 - 1 单个元素3 - 2 多个元素0 - 前言参考:http://c.biancheng.net/view/6688.html1 - array是什么array 容器是 C++11 标准中新增的序列容器,简单地理解,它就是在 C++ 普通数组的基础上,添加了一些成员函数和全局函数。在使用上,它比普通数组更安全,且效率并没有因此变差。特性:array 容器的大小是固定的,无法动态的扩展或收缩,这也就转载 2021-04-09 14:26:52 · 453 阅读 · 0 评论 -
3 STL序列式容器简介【array、vector、deque、list、forward_list】【容器函数合集】
文章目录0 - 前言1 - 序列容器是什么2 - 序列容器包括什么3 - 容器函数3 - 1 array vector deque3 - 2 list forward_list0 - 前言参考:http://c.biancheng.net/view/409.html1 - 序列容器是什么序列容器,即以线性排列(类似普通数组的存储方式)来存储某一指定类型(例如 int、double 等)的数据,需要特殊说明的是,该类容器并不会自动对存储的元素按照值的大小进行排序。2 - 序列容器包括什么转载 2021-04-09 10:42:10 · 134 阅读 · 0 评论 -
2 STL迭代器介绍【前向迭代器、双向迭代器、随机访问迭代器】【迭代器遍历容器】
文章目录0 - 前言1 - 迭代器定义2 - 迭代器分类3 - 迭代器使用0 - 前言参考:http://c.biancheng.net/view/6675.html1 - 迭代器定义每一种容器都有对应类型的迭代器,也就是,不同容器的迭代器也不同,其功能强弱也有所不同。容器的迭代器的功能强弱,决定了该容器是否支持 STL 中的某种算法。2 - 迭代器分类常用的迭代器按功能强弱分为输入迭代器、输出迭代器、前向迭代器、双向迭代器、随机访问迭代器 5 种。常用的就是后三种,输入迭代器和输出迭代器比转载 2021-04-09 10:39:02 · 5128 阅读 · 0 评论 -
1 STL部件【容器、分配器、算法、迭代器、适配器、仿函数】容器简介【序列容器、关联容器、无序容器】
文章目录STL六大部件:C++11新规定的遍历方式容器分类序列式容器关联式容器无序式容器STL六大部件:容器 container:存储数据,用户不必关心数据在内存的存储形式,只需要知道怎么用容器接口分配器 allocator:帮助容器在内存规划位置算法 algorithm:与数据分离,能够执行某种操作迭代器 iterator:连接容器(数据)和算法(操作)的桥梁,好像一种泛化指针适配器 adapter:进行转换,可以针对容器、仿函数、迭代器仿函数 Funtor:作用像一个函数标准库规原创 2021-04-09 10:33:49 · 410 阅读 · 0 评论 -
力扣【Hot100-3】 无重复字符的最长子串 【双指针法】
文章目录全部刷题与学习记录原题目考查知识点自己的第一遍解法好的解法全部刷题与学习记录【C++刷题学习笔记目录】【C++百万并发网络通信-笔记目录】原题目题目地址:3. 无重复字符的最长子串给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: s = "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: s = "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长原创 2021-04-07 21:24:42 · 294 阅读 · 0 评论 -
2-8 跨平台client【linux下client】
2-8 跨平台client文章目录2-8 跨平台client0-前言1-client代码0-前言【C++百万并发网络通信】系列是跟着【张远东】老师的视频来复现的希望能通过博客的方式不断坚持学习,也希望偶然间看到这篇博客的你也能一起加油!笔记目录:【C++百万并发网络通信-笔记目录】1-client代码#ifdef _WIN32 #define WIN32_LEAN_AND_MEAN #define _WINSOCK_DEPRECATED_NO_WARNINGS #i原创 2021-04-06 21:20:32 · 546 阅读 · 0 评论 -
力扣 2 两数相加【局部对象】【数值计算区间】【函数返回值是复合体(链表节点、树节点)】
力扣 2 两数相加【局部对象】【数值计算区间】【函数返回值是复合体(链表节点、树节点)】文章目录力扣 2 两数相加【局部对象】【数值计算区间】【函数返回值是复合体(链表节点、树节点)】全部刷题与学习记录原题目考查知识点自己的第一遍解法好的解法全部刷题与学习记录【C++刷题学习笔记目录】【C++百万并发网络通信-笔记目录】原题目题目地址:2. 两数相加给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并原创 2021-04-06 19:26:22 · 125 阅读 · 0 评论 -
快速排序【算法解析】【C++代码实例】
快速排序【算法解析】【C++代码实例】文章目录快速排序【算法解析】【C++代码实例】0 - 前言1 - 基本思想2 - 挖坑填数+分治法3 - 代码实例0 - 前言参考:https://www.runoob.com/w3cnote/quick-sort.html1 - 基本思想先从数列中取出一个数作为基准数(可以是数列首,也可以是队列中间)分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边再对左右区间重复第二步,直到各区间只有一个数快速排序采用分治法,分治策略为:转载 2021-04-06 10:39:09 · 874 阅读 · 0 评论 -
力扣 112 路径总和【回溯】【递归函数要不要返回值】
力扣 112 路径总和【回溯】【递归函数要不要返回值】文章目录力扣 112 路径总和【回溯】【递归函数要不要返回值】全部刷题与学习记录原题目考查知识点好的解法全部刷题与学习记录【C++刷题学习笔记目录】【C++百万并发网络通信-笔记目录】原题目题目地址:112. 路径总和给你二叉树的根节点 root 和一个表示目标和的整数 targetSum ,判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。叶子节点 是指没有子节点的节点。考查知原创 2021-04-04 16:46:59 · 286 阅读 · 0 评论 -
力扣 513 找树左下角的值【层序遍历】
力扣 513 找树左下角的值文章目录力扣 513 找树左下角的值全部刷题与学习记录原题目考查知识点自己的第一遍解法好的解法全部刷题与学习记录【C++刷题学习笔记目录】【C++百万并发网络通信-笔记目录】原题目题目地址:513. 找树左下角的值给定一个二叉树,在树的最后一行找到最左边的值。示例 1:输入: 2 / \ 1 3输出:1示例 2:输入: 1 / \ 2 3 / / \ 4原创 2021-04-01 21:27:35 · 275 阅读 · 0 评论 -
2-7 多客户端同时工作 【select非阻塞模型应用于server、client】
2 - 7 多客户端同时工作 【select非阻塞模型应用于server、client】文章目录2 - 7 多客户端同时工作 【select非阻塞模型应用于server、client】0-前言1-非阻塞模型2-Windows下的select()函数函数声明:参数解释:函数返回值3 - server代码4 - client代码0-前言【C++百万并发网络通信】系列是跟着【张远东】老师的视频来复现的希望能通过博客的方式不断坚持学习,也希望偶然间看到这篇博客的你也能一起加油!笔记目录:【C++百万并发原创 2021-03-31 16:08:47 · 399 阅读 · 0 评论 -
力扣 74 搜索二维矩阵【二分法】【边界确定】
力扣 74 搜索二维矩阵【二分法】【边界确定】文章目录力扣 74 搜索二维矩阵【二分法】【边界确定】全部刷题与学习记录原题目考查知识点自己的第一遍解法好的解法全部刷题与学习记录【C++刷题学习笔记目录】【C++百万并发网络通信-笔记目录】原题目题目地址:74. 搜索二维矩阵编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性:每行中的整数从左到右按升序排列。每行的第一个整数大于前一行的最后一个整数。示例 1:输入:matrix = [[1,3,5,原创 2021-03-31 08:44:48 · 382 阅读 · 0 评论 -
【算法套路】-【二分法】【左右端点的更新】
【算法套路】-【二分法】文章目录【算法套路】-【二分法】0 - 前言1 - 使用场景2 - 难点2 - 1 解决边界问题0 - 前言本文参考【代码随想录】大佬的数组:每次遇到二分法,都是一看就会,一写就废1 - 使用场景对于有序数组,使用二分法来查找是非常高效的。2 - 难点二分法的原理是非常容易听懂的,每次折中取兴趣区间。但是原理还是要好好剖析!二分法的难点就在于:1、兴趣区间的开闭;2、兴趣区间两端的更新。边界值的选择直接影响能不能写出正确的代码!2 - 1 解决边界问题主要是由两种原创 2021-03-30 21:22:48 · 444 阅读 · 0 评论 -
力扣 404 左叶子之和【递归三步法】【寻找叶节点】
力扣 404 左叶子之和【递归三步法】文章目录力扣 404 左叶子之和【递归三步法】全部刷题与学习记录原题目考查知识点自己的第一遍解法好的解法全部刷题与学习记录【C++刷题学习笔记目录】【C++百万并发网络通信-笔记目录】原题目题目地址:404. 左叶子之和计算给定二叉树的所有左叶子之和。示例: 3 / \ 9 20 / \ 15 7在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24考查知识点递归三步法、叶节点的特殊性自原创 2021-03-30 19:45:19 · 197 阅读 · 0 评论 -
2-6 socket客户端、服务端以【报文方式】收发数据
socket客户端、服务端以【报文方式】收发数据文章目录socket客户端、服务端以【报文方式】收发数据0-前言1 - 网络数据报文的格式2 - 客户端程序3 - 服务端程序0-前言【C++百万并发网络通信】系列是跟着【张远东】老师的视频来复现的希望能通过博客的方式不断坚持学习,也希望偶然间看到这篇博客的你也能一起加油!笔记目录:【C++百万并发网络通信-笔记目录】1 - 网络数据报文的格式报文 = 包头 + 包体包头:表示消息大小包体:携带数据我们用结构体来表示包头://包头s原创 2021-03-27 20:47:42 · 716 阅读 · 0 评论 -
背包问题-01背包之滚动数组【动规五步法】
背包问题-01背包之滚动数组【动规五步法】文章目录背包问题-01背包之滚动数组【动规五步法】0 - 前言1 - 滚动数组的由来2 - 动规五步法0 - 前言本文是参考【代码随想录】大佬的【背包专题】,受益匪浅,上一个链接动态规划:关于01背包问题,你该了解这些!(滚动数组)1 - 滚动数组的由来滚动数组的提出,简化了背包问题中dp数组的维度(由2维变为1维)在 背包问题【01背包扫盲】【动规五步法】 中说到解决01背包问题的递推公式为:dp[i][j] = max(dp[i-1][j],原创 2021-03-23 20:36:09 · 2092 阅读 · 2 评论 -
背包问题【01背包扫盲】【动规五步法】
背包问题-01背包扫盲【动规五步法】文章目录背包问题-01背包扫盲【动规五步法】0 - 前言1 - 什么是01背包2 - 动规五步法解决背包0 - 前言本文针对01背包问题,主要参考【代码随想录】大佬的背包九讲,上一个链接。本文中示范用例与代码取自大佬链接中。参考:动态规划:关于01背包问题,你该了解这些!1 - 什么是01背包物品数量为N,每个物品的重量为weight[i],i∈[1, N],对应的物品价值为value[i], i∈[1, N],每件物品只有一件,问题是:将哪些物品放进背包原创 2021-03-23 09:13:17 · 304 阅读 · 0 评论 -
虚函数的实现原理【虚函数作用】【动态联编】【虚函数表/指针 创建时机、作用、存放位置】【vtbl、vptr】
虚函数的实现原理【虚函数作用】【动态联编】【虚函数表/指针 创建时机、作用、存放位置】文章目录虚函数的实现原理【虚函数作用】【动态联编】【虚函数表/指针 创建时机、作用、存放位置】0 - 前言1 - 虚函数的作用2 - 虚函数表、虚函数指针2 - 1 创建时机2- 2 作用2 - 3 存放位置0 - 前言参考:https://www.nowcoder.com/questionTerminal/1f67d4e2b6134c298e993e622181b3331 - 虚函数的作用首先回顾一下动态原创 2021-03-22 10:52:27 · 513 阅读 · 0 评论 -
C/C++输入输出IO问题【保存小数位数】【空格回车截断】
C/C++输入输出IO问题【保存小数位数】【空格回车截断】文章目录C/C++输入输出IO问题【保存小数位数】【空格回车截断】0 - 前言1 - 题目**C形式输入**:**C形式输出**:**C++形式输入**:**C++形式输出**:0 - 前言今天做百度笔试的例题遇到了几个输入输出要求,题目不仅要求进行算法设计,还要考虑输入输出样式:您的程序只能从标准输入(stdin,即“键盘”)读入,并输出到标准输出(stdout,即“屏幕”),不允许操作文件,否则将导致不正确的结果。1 - 题目题目原创 2021-03-21 13:12:44 · 436 阅读 · 0 评论 -
力扣 101 对称二叉树【递归三步法】
力扣 101 对称二叉树【递归三步法】文章目录力扣 101 对称二叉树【递归三步法】全部刷题与学习记录原题目考查知识点自己的第一遍解法好的解法全部刷题与学习记录【C++刷题学习笔记目录】【C++百万并发网络通信-笔记目录】原题目题目地址:101. 对称二叉树给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \ / \3 4 4 3但是下面这个 [1,2,2,null,3,null,3原创 2021-03-20 20:27:27 · 369 阅读 · 0 评论 -
C++按行读入数组【数组元素均一行/多行输入】
C++按行读入数组【数组元素均一行/多行输入】文章目录C++按行读入数组【数组元素均一行/多行输入】0 - 前言1 - 静态数组2 - 动态数组3 - cin与空格、回车0 - 前言今天做了阿里的笔试题,其中一道的部分要求是:按行读入一个数组输入示例:4 7 12 13鉴于之前在力扣刷题,题目的示例输入多是在函数入口处定义好的,所以基本没接触过需要自己cin的题目,突然卡住了,基础不牢,地动山摇1 - 静态数组#include <iostream>using namespac原创 2021-03-19 21:24:09 · 11977 阅读 · 2 评论 -
力扣 92 反转链表②【虚拟头结点】
力扣 82 反转链表② 【虚拟头结点】文章目录力扣 82 反转链表② 【虚拟头结点】全部刷题与学习记录原题目考查知识点自己的第一遍解法好的解法全部刷题与学习记录【C++刷题学习笔记目录】【C++百万并发网络通信-笔记目录】原题目题目地址:92. 反转链表 II给你单链表的头指针 head 和两个整数 left 和 right ,其中 left <= right 。请你反转从位置 left 到位置 right 的链表节点,返回 反转后的链表 。示例 1:输入:head = [1,2原创 2021-03-18 20:42:58 · 209 阅读 · 0 评论 -
C++ 多态知识解密【静态联编】【动态联编】【函数重载】【函数重写】【函数重定义】【虚函数表与vptr指针】【纯虚函数】【抽象类】【接口】
C++ 多态知识解密文章目录C++ 多态知识解密0 - 前言1 - 多态是什么2 - 多态实现方式3 - 动态多态的实现原理4 - 纯虚函数、抽象类、接口0 - 前言本文主要参考以下两篇大佬博客:C/C++中的多态理解c++中的多态机制1 - 多态是什么简单来说就是使一条语句有多种状态。2 - 多态实现方式这里涉及到静态联编与动态联编静态联编:在程序的编译期间就能确定具体的函数调用;如函数重载,非虚函数重写;静态联编又叫静态多态是编译器在编译期间完成的,编译器会根据实参类型来选择原创 2021-03-18 08:29:18 · 369 阅读 · 0 评论 -
力扣 102 二叉树的层序遍历【广度优先遍历】
力扣 102 二叉树的层序遍历【广度优先遍历】文章目录力扣 102 二叉树的层序遍历【广度优先遍历】全部刷题与学习记录原题目考查知识点自己的第一遍解法全部刷题与学习记录【C++刷题学习笔记目录】【C++百万并发网络通信-笔记目录】原题目题目地址:102. 二叉树的层序遍历给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。示例:二叉树:[3,9,20,null,null,15,7], 3 / \ 9 20 / \原创 2021-03-17 21:06:08 · 395 阅读 · 0 评论