摘要: # 更换阿里云的yum源 yum源存储的位置在: ``` etc/yum.repos.d ``` ![](https://img2023.cnblogs.com/blog/3082337/202308/3082337-20230824223207238-943377415.png) 记住这个名字 ` 阅读全文
posted @ 2023-08-24 22:30 Hayaizo 阅读(130) 评论(0) 推荐(0)
摘要: >Linux中一切皆文件,那么文件就应该有相对于的类型,而在Linux当中,类型不是直接看后缀来决定的。 ![](https://img2023.cnblogs.com/blog/3082337/202308/3082337-20230824223318240-1197469111.png) | - 阅读全文
posted @ 2023-08-24 22:30 Hayaizo 阅读(23) 评论(0) 推荐(0)
摘要: # 传统C语言错误异常的方式 >C语言一般使用`assert`来处理错误,`assert`确实很不错,可以把错误的行数都提示出来,但是,`assert`有一个致命的缺点,就是触发`assert`之后就会终止程序,还有一点就是在`release`环境下,`assert`是不起作用的。 # C++异常处 阅读全文
posted @ 2023-08-24 22:30 Hayaizo 阅读(19) 评论(0) 推荐(0)
摘要: # 为什么需要智能指针? >1. 解决忘记释放内存导致内存泄漏的问题。 >2. **解决异常安全问题。** ```cpp #include using namespace std; int div() { int a, b; cin >> a >> b; if (b == 0) throw inva 阅读全文
posted @ 2023-08-24 22:30 Hayaizo 阅读(37) 评论(0) 推荐(0)
摘要: **1、都说c++是面向对象的语言,面向对象的三个特性能 [展开] 介绍一下吗?** >封装:封装是一种集中管理的思想,把内部的数据和实现方法组合在一起,并且不对外暴漏内部的数据和实现方法,只对外提供几个接口来完成函数的调用和数据的操作,保证了数据的安全性和一致性。 > >继承:继承是指一个类可以继 阅读全文
posted @ 2023-08-24 22:30 Hayaizo 阅读(499) 评论(0) 推荐(0)
摘要: # static_cast >**static_cast**用于非多态类型的转换(静态转换),编译器隐式执行的任何类型转换都可以用。 > >但**static_cast**不能用于两个**不相关**的类型进行转换。 ```cpp double d = 12.34; int a = static_ca 阅读全文
posted @ 2023-08-24 22:30 Hayaizo 阅读(19) 评论(0) 推荐(0)
摘要: # C语言的输入和输出 >C语言中我们用到的最频繁的输入输出方式就是scanf ()与printf()。 scanf(): 从标准输入设备(键 盘)读取数据,并将值存放在变量中。printf(): 将指定的文字/字符串输出到标准输出设备(屏幕)。 注意宽度输出和精度输出控制。C语言借助了相应的缓冲区 阅读全文
posted @ 2023-08-24 22:30 Hayaizo 阅读(28) 评论(0) 推荐(0)
摘要: ![](https://img2023.cnblogs.com/blog/3082337/202308/3082337-20230824223622468-750211233.png) # 万能引用 >万能引用的格式如下: ```cpp template void PerfectForward(T& 阅读全文
posted @ 2023-08-24 22:30 Hayaizo 阅读(61) 评论(0) 推荐(0)
摘要: ![](https://img2023.cnblogs.com/blog/3082337/202308/3082337-20230824223638062-1411987226.jpg) # Lambda表达式 >lambda表达式的底层实现涉及到闭包(Closure)的概念。闭包是一个函数对象,它 阅读全文
posted @ 2023-08-24 22:30 Hayaizo 阅读(48) 评论(0) 推荐(0)
摘要: ![](https://img2023.cnblogs.com/blog/3082337/202308/3082337-20230824223707049-1151210243.webp) # function包装器的使用 >`function`包装器的使用格式 > >**`function`** 阅读全文
posted @ 2023-08-24 22:30 Hayaizo 阅读(12) 评论(0) 推荐(0)
摘要: ![](https://img2023.cnblogs.com/blog/3082337/202308/3082337-20230824223723072-1402993661.webp) # bind包装器 >调用bind的一般形式:**auto newCallable = bind(callab 阅读全文
posted @ 2023-08-24 22:30 Hayaizo 阅读(12) 评论(0) 推荐(0)
摘要: **封装map和set** # map.h文件 ```c++ #pragma once #include"RBTree.h" namespace mudan { template class map { public: struct MapKeyOfT { const K& operator()(c 阅读全文
posted @ 2023-08-24 22:30 Hayaizo 阅读(30) 评论(0) 推荐(0)
摘要: **初识哈希** ![](https://img2023.cnblogs.com/blog/3082337/202308/3082337-20230824223755175-1251253134.jpg) >哈希表是一种查找效率及其高的算法,最理想的情况下查询的时间复杂度为O(1)。 > >`uno 阅读全文
posted @ 2023-08-24 22:30 Hayaizo 阅读(23) 评论(0) 推荐(0)
摘要: # 位图 >**给40亿个不重复的无符号整数,没排过序。给一个无符号整数,如何快速判断一个数是否在这40亿个数** > >**中。【腾讯】** > >1. 遍历,时间复杂度O(N) >2. 排序(O(NlogN)),利用二分查找: logN 申请512M的内存 一个bit位代表一个unsigned 阅读全文
posted @ 2023-08-24 22:30 Hayaizo 阅读(26) 评论(0) 推荐(0)
摘要: # 布隆过滤器 >布隆过滤器就是为了解决位图不能解决的问题。 > >1. 用哈希表存储用户记录,缺点:浪费空间 >2. 用位图存储用户记录,缺点:不能处理哈希冲突 >3. **将哈希与位图结合,即布隆过滤器** # 布隆过滤器的概念 >**布隆过滤器是由布隆(Burton Howard Bloom) 阅读全文
posted @ 2023-08-24 22:29 Hayaizo 阅读(23) 评论(0) 推荐(0)
摘要: ![](https://pic.imgdb.cn/item/64b4e36c1ddac507cc04f921.jpg) >[二叉查找树](https://baike.baidu.com/item/二叉查找树/7077965?fromModule=lemma_inlink)(Binary Search 阅读全文
posted @ 2023-08-24 22:28 Hayaizo 阅读(49) 评论(0) 推荐(0)
摘要: ![](https://pic.imgdb.cn/item/64303cb20d2dde5777f6c983.png) AC代码: ```c++ #include #include #include using namespace std; const int N = 510; int ans[N] 阅读全文
posted @ 2023-08-24 22:28 Hayaizo 阅读(15) 评论(0) 推荐(0)
摘要: #### list的反向迭代器 @[TOC] ![](https://pic.imgdb.cn/item/64a7fad91ddac507cc9def62.jpg) #### reverse.h ```c++ #pragma once namespace mudan { template struc 阅读全文
posted @ 2023-08-24 22:28 Hayaizo 阅读(9) 评论(0) 推荐(0)
摘要: C++引用(&)笔记 ![](https://pic1.imgdb.cn/item/645f7cc40d2dde5777011932.jpg) 1.寄存器一般只有4/8个字节,所以返回时候的中间变量(下图的临时变量)不一定是储存在寄存器当中 ![](https://pic1.imgdb.cn/ite 阅读全文
posted @ 2023-08-24 22:28 Hayaizo 阅读(28) 评论(0) 推荐(0)
摘要: 算法竞赛进阶指南 位运算 AcWing 89. a^b ```c++ #include using namespace std; int main(void) { long long a,b,p; cin>>a>>b>>p; long long ans=1%p; while(b) { if(b&1) 阅读全文
posted @ 2023-08-24 22:28 Hayaizo 阅读(22) 评论(0) 推荐(0)
摘要: #### stack.h文件 ```c++ #pragma once #include #include #include #include typedef int STDataType; typedef struct stack { int* a; int top; int capacity; } 阅读全文
posted @ 2023-08-24 22:28 Hayaizo 阅读(6) 评论(0) 推荐(0)
摘要: ![](https://img2023.cnblogs.com/blog/3082337/202308/3082337-20230825011705042-1147539891.jpg) #### 1.多态的概念 >多态,顾名思义就是多种状态,**具体点就是去完成某种行为,但是通过不同的对象去完成某 阅读全文
posted @ 2023-08-24 22:28 Hayaizo 阅读(21) 评论(0) 推荐(0)
摘要: **C++中菱形继承中继承不明确问题** ![](https://img2023.cnblogs.com/blog/3082337/202308/3082337-20230825011731543-1899207997.png) ```c++ class A { public: virtual vo 阅读全文
posted @ 2023-08-24 22:28 Hayaizo 阅读(56) 评论(0) 推荐(0)
摘要: **优先队列** ![](https://img2023.cnblogs.com/blog/3082337/202308/3082337-20230825011750910-1365411514.jpg) #### 核心代码 ```c++ #pragma once #include #include 阅读全文
posted @ 2023-08-24 22:28 Hayaizo 阅读(18) 评论(0) 推荐(0)
摘要: 常见指令以及权限理解 # 命令格式: > `command [-options] parameter1 parameter1` > > 命令 选项 参数1 参数2 > > 1.`command`为命令名称,例如变化目录的`cd`等 > > 2.中括号`[ ]`实际在命令中是不存在的,这个中括号代表* 阅读全文
posted @ 2023-08-24 22:28 Hayaizo 阅读(39) 评论(0) 推荐(0)
摘要: #### C++中的继承 ![](https://img2023.cnblogs.com/blog/3082337/202308/3082337-20230825011929299-1362104852.jpg) #### 1.继承的概念和定义 >**继承**是一种提高代码复用率的重要方式,它允许程 阅读全文
posted @ 2023-08-24 22:28 Hayaizo 阅读(26) 评论(0) 推荐(0)
摘要: #### 可直接获取链表长度的单链表 #### SeqList.h文件 ```c #pragma once //存size的链表 #include #include #include #include typedef int SeqDataType; typedef struct SeqNode { 阅读全文
posted @ 2023-08-24 22:28 Hayaizo 阅读(33) 评论(0) 推荐(0)
摘要: 队列 queue.h文件 ```c #include"queue.h" int main(void) { Queue q; QueueInit(&q); QueuePush(&q, 1); QueuePush(&q, 2); QueuePush(&q, 3); QueuePush(&q, 4); Q 阅读全文
posted @ 2023-08-24 22:28 Hayaizo 阅读(13) 评论(0) 推荐(0)
摘要: 二叉树的实现(包括层序遍历) queue.h文件 ```c #pragma once #include #include #include typedef struct BinaryTreeNode* QDataType; typedef struct QueueNode { struct Queu 阅读全文
posted @ 2023-08-24 22:28 Hayaizo 阅读(19) 评论(0) 推荐(0)
摘要: Heap堆排序 向上调整 当我们在一个堆的末尾插入一个数据后,需要对堆进行调整,使其仍然是一个堆,这时需要用到堆的向上调整算法。 ![](https://img2023.cnblogs.com/blog/3082337/202308/3082337-20230825012110347-1338396 阅读全文
posted @ 2023-08-24 22:28 Hayaizo 阅读(25) 评论(0) 推荐(0)
摘要: ### Lesson6--排序 #### 【本节目标】 - #### 1.排序的概念及其运用 - #### 2.常见排序算法的实现 - #### 3.排序算法复杂度及稳定性分析 ![](https://img2023.cnblogs.com/blog/3082337/202308/3082337-2 阅读全文
posted @ 2023-08-24 22:28 Hayaizo 阅读(28) 评论(0) 推荐(0)
摘要: #### List.h文件 ```c++ #pragma once #include #include #include #include typedef int LTDateType; typedef struct ListNode { struct ListNode* prev; struct 阅读全文
posted @ 2023-08-24 22:28 Hayaizo 阅读(12) 评论(0) 推荐(0)
摘要: #### SList.h文件 ```c++ #pragma once #include #include #include typedef int SLTDateType; typedef struct SListNode { SLTDateType data; struct SListNode* 阅读全文
posted @ 2023-08-24 22:28 Hayaizo 阅读(17) 评论(0) 推荐(0)
摘要: ![砍竹子](https://img2023.cnblogs.com/blog/3082337/202308/3082337-20230825012224140-1815157860.png) AC代码: ```c++ #include #include #include using namespa 阅读全文
posted @ 2023-08-24 22:27 Hayaizo 阅读(14) 评论(0) 推荐(0)
摘要: **冒泡排序的思想就是相邻元素依次比较,把该元素放在对应的位置,用一个动图来解释:** ![冒泡排序思想][1] 普通的冒泡排序代码: ```cpp void Bubble_sort(int* base, int sz) { for (int i = 0; i base[j + 1]) { int 阅读全文
posted @ 2023-08-24 22:22 Hayaizo 阅读(55) 评论(0) 推荐(0)