知识点
文章平均质量分 65
qq_43530773
win自动更新导致资料没了,这里作为备份用
展开
-
C++中的类型转换static_cast、dynamic_cast、const_cast和reinterpret_cast总结
本文出处:https://www.jb51.net/article/55885.htm这篇文章主要介绍了C++中的类型转换static_cast、dynamic_cast、const_cast和reinterpret_cast总结,需要的朋友可以参考下。前言:C++中的类型转换分为两种:1.隐式类型转换定义:隐式转换是系统跟据程序的需要而自动转换的。2.显式类型转换。定义:显式转换也叫强制转换,是自己主动让这个类型转换成别的类型。对于隐式变换,就是标准的转换,在很多时候,不经意间就发生了,比转载 2021-07-03 23:34:48 · 280 阅读 · 0 评论 -
九种常用的UML图总结
.前言准备之后写一些设计模式的笔记,在这里先记录一下前置知识。原文:https://blog.csdn.net/u012500848/article/details/94490361UML(Unified Modeling Language)统一建模语言,又称标准建模语言。是用来对软件密集系统进行可视化建模的一种语言。UML的定义包括UML语义和UML表示法两个元素。UML是在开发阶段,说明、可视化、构建和书写一个面向对象软件密集系统的制品的开放方法。最佳的应用是工程实践,对大规模,复杂系统进行建转载 2021-06-26 21:16:19 · 32132 阅读 · 1 评论 -
C++ 函数中的不定参数
.定义所谓不定参数,指的就是在函数的定义中原创 2021-06-24 00:31:53 · 8114 阅读 · 1 评论 -
关于常见字符串匹配算法——KMP算法的个人理解与解释
本文是对LeetCode上官方对KMP算法的解释的个人理解与消化,对应链接:https://leetcode-cn.com/problems/implement-strstr/.前言我愿称LeetCode.0028为算法题里的扫地憎题目描述:实现 strStr() 函数。给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串出现的第一个位置(下标从 0 开始)。如果不存在,则返回 -1 。当 needle 是空字符串时,我们应当返回原创 2021-06-16 20:04:22 · 236 阅读 · 0 评论 -
二叉树的三种遍历方法及实现代码
.前言二叉树:指只有两个子节点,共三个节点的树:根节点、左子节点、右子节点。根据三个节点的遍历的顺序分为前序、中序和后序遍历三种。注:前面的方位词修饰的根节点(我觉得知道这个就能记住了)前序:根节点->左子节点->右子节点:A->B->C中序:左子节点->根节点->右子节点:B->A->C后序:左子节点->右子节点->根节点:B->C->A当遇到的子节点并非是叶节点时,就嵌套上述步骤读取。三种遍历中较重要的是中序原创 2021-03-07 16:10:21 · 1327 阅读 · 0 评论 -
随机数
方法一:rand()给srand()提供一个种子,它是一个unsigned int类型;调用rand(),它会根据提供给srand()的种子值返回一个随机数(在0到RAND_MAX之间);根据需要多次调用rand(),从而不间断地得到新的随机数;无论什么时候,都可以给srand()提供一个新的种子,从而进一步“随机化”rand()的输出结果。#include <iostream>#include <algorithm>#include <time.h>原创 2021-04-30 04:37:37 · 53 阅读 · 0 评论 -
(转载)c++优先队列(priority_queue)用法详解
既然是队列那么先要包含头文件#include <queue>, 他和queue不同的就在于我们可以自定义其中数据的优先级, 让优先级高的排在队列前面,优先出队优先队列具有队列的所有特性,包括基本操作,只是在这基础上添加了内部的一个排序,它本质是一个堆实现的和队列基本操作相同:top 访问队头元素empty 队列是否为空size 返回队列内元素个数push 插入元素到队尾 (并排序)emplace 原地构造一个元素并插入队列pop 弹出队头元素swap 交换内容定义:pri转载 2021-04-13 19:38:17 · 98 阅读 · 0 评论 -
通过移位操作及逻辑运算实现加减乘除
1、预备知识移位:c++中对十进制的数的存储在内存上以二进制的方式存储。移位操作包括无符号的逻辑左移与逻辑右移,以及带符号的算术移位。逻辑左移:二进制数m整体向左边移动n位,多余的位数会丢掉,空缺的数将由0补上。格式:m<<nunsigned int m = 5;//二进制化为101unsigned int x=m << 3;//向左移动3位,即101000,转为10进制应为40cout << x;逻辑右移:二进制数m整体向右边移动n位,多余的位数原创 2021-04-06 23:43:33 · 1250 阅读 · 0 评论 -
关于深度优先遍历二叉树以及广度优先遍历二叉树
.前言1、深度优先遍历(DFS)依靠栈实现,以先序为例,操作顺序是出栈,读取父节点->将右子节点压入栈->将左子节点压入栈;2、广度优先遍历(BFS)依靠队列,操作顺序是读取头节点->将左子节点压入队列->将右子节点压入队列。这个知识点其实没什么能推导的,因此我觉得直接解释操作会对知识点的解释会有个好的先导印象。.说明一颗二叉树,若是想遍历所有节点,其形式有两种,一种是在读取一个节点后,读取它的子节点,将这颗子树读完再读取另一颗子树(深度优先遍历);另一种则是按照节点的原创 2021-03-27 09:36:04 · 205 阅读 · 0 评论