- 博客(93)
- 收藏
- 关注
原创 C++ 模版复习
模版函数模板的实例化模板参数的匹配原则类模板类模板的定义格式模板的特化概念函数模板特化类模板特化全特化偏特化偏特化有以下两种表现方式:模板分离编译什么是分离编译模板的分离编译
2025-05-30 18:24:43
730
原创 C++复习补充 IO
cin和coutC++对cin和cout的使用类似于C语言scanf和printf的使用cin和cout是关联的文件IO继承stringstream
2025-04-29 19:14:28
204
原创 Linux mmp文件映射补充(自用)
flag(MAP_SHARED(不刷新到磁盘上,此进程独有)和MAP_PRIVATE(刷新到磁盘上所有进程共享)),fd文件描述符表,offset相较于文件的偏移量。vm_area_struct {struct file* vm_file}虚拟地址,当前进程不打开文件,指针为nullptr,这样进程就与文件关联起来。addr一般为NULL由OS指明,length所需长度(4kb对齐),prot(权限,一般O_RDWR以读写),gdb info proc mapping 查看映射情况。munmap取消映射。
2025-04-22 19:35:13
173
原创 Linux 进程控制(自用)
这样父进程就不会阻塞,此时循环使用我们可以让父进程执行其他任务而不是阻塞等待。l就是list,以可变参数的形式传递"ls",“-l”,“NULL”替换就是完全替换当前进程的代码段、数据段、堆和栈,保存当前的PCB。pathname是要执行的可执行文件的完整路径 /bin/ls。file程序名,不带路径在环境变量PATH查找。进程=PCB+加载到内存中的代码和数据。p就是会从环境变量查找,只要程序名即可。v就是vector以指针数组的形式传递。非阻塞调用waitpid。自定义shell的编写。
2025-04-20 22:37:13
290
原创 Linux基础开发工具 补充(自用)
源码下载,软件包安装,包管理器(yum apt),现在的话我们一般常使用包管理器来安装软件。程序之间是存在相互依赖关系的,这个依赖是缺失运行库或者说版本兼容性,包管理器可以很好帮助我们解决软件包的依赖问题,但是如果说你直接用这个源码安装的话,我们可能会安装不全,或者这个具体程序需要的环境我们无法配置好。实际上安装就是一个拷贝的过程。可以从网络上安装,或者说直接拷贝。软件都是谁提供的。软件就是由它的社区提供如www.centos.org。它在不同平台上跑,如微信它可以在mac os系统上跑也可以在安卓的系统上
2025-04-20 13:50:44
867
原创 Linux基础指令 补充(自用)
Linux下有关权限的补充,Linux创建一个文件但不给予读写权限,但却可以删除这个文件。因为文件是否能被删除与文件的属性无关,而与当前的目录的熟悉无关。也就说任何能进入到当前目录的具有写权限的人有能力对当前任意文件进行 创建、删除、重命名文件或子目录。通过对目录添加粘滞位的概念,用户在当前目录具有rwx权限,但用户只能删除自己拥有的文件或子目录,而不能删除其他用户的文件。应用场景:多用户之间能在一个目录开发且只能删除自己的文件。以树的形式列出当前目录的所有文件(要下载)输入输出重定向的补充内容。
2025-04-20 13:34:34
224
原创 Linux环境搭建 补充(自用)
1.理解开源2.为什么一开始不发展操作系统?3 操作系统的版本是使用越新越好嘛?4.高效,稳定,安全5.不同种类的操作系统
2025-04-19 13:30:41
265
原创 C++进阶知识10 封装unordered_map和unordered_set
封装unordered_map和unordered_set1. 模拟实现unordered_map和unordered_set1.1 实现出复⽤哈希表的框架,并⽀持insert
2025-03-09 14:16:24
675
原创 C++进阶知识9 哈希表实现
哈希表1. 哈希概念1.1 直接定址法1.2 哈希冲突1.3 负载因⼦1.4 将关键字转为整数1.5 哈希函数1.5.2 乘法散列法1.5.3 全域散列法1.6 处理哈希冲突1.6.1 开放定址法2.完整代码实现
2025-03-08 20:41:22
805
原创 C++进阶知识8 unordered_map和unordered_set
1. unordered_set系列的使⽤1.1 unordered_set类的介绍1.2 unordered_set和set的使⽤差异1.3 unordered_map和map的使⽤差异1.4 unordered_multimap/unordered_multiset1.5 unordered_xxx的哈希相关接⼝
2025-03-08 14:47:52
627
原创 C++进阶知识7 封装map和set
1. 源码及框架分析2. 模拟实现map和set2.1 实现出复⽤红⿊树的框架,并⽀持insert2.2 ⽀持iterator的实现2.3 map⽀持[]2.4 完整实现
2025-03-07 23:59:19
862
原创 C++进阶知识6 红黑树实现
红黑树1.红黑树的概念1.1 红黑树的规则:1.2 思考⼀下,红⿊树如何确保最⻓路径不超过最短路径的2倍的?2. 红⿊树的实现2.1 红⿊树的结构2.2 红⿊树的插⼊2.2.1 红⿊树树插⼊⼀个值的⼤概过程2.2.2 情况1:变⾊2.2.3 情况2:单旋+变⾊2.2.4 情况2:双旋+变⾊2.3 红⿊树的插⼊代码实现2.5 红黑树的验证
2025-03-07 22:20:28
911
原创 快速上手Vim的使用
Linux编辑器-vim使用==命令行模式下所有选项都可以带数字====底行模式====可视块模式(ctrl+V进入)==
2025-02-06 09:43:56
1941
原创 Linux操作系统学习的一些认识
认识1.为什么会有操作系统的诞生2.为什么要开发操作系统?3.理解开源4.理解生态4.1基于Linux内核的操作系统4.2 操作系统的版本是使用越新越好嘛?4.3如何理解软件下载
2025-02-06 09:18:20
737
原创 刷爆leetcode Day18贪心算法
贪心7. 最⻓连续递增序列(easy)8. 买卖股票的最佳时机(easy)9. 买卖股票的最佳时机 Ⅱ(medium)
2024-12-16 13:51:12
200
原创 Linux操作系统1_常见指令以及权限理解
1.Linux下基本指令1. ls 指令 (list)2. pwd命令 (print working directory)3. cd 指令 (change working directory)4. touch指令5.mkdir指令(make directory)(重要):6.rmdir指令 && rm 指令(remove)(重要):7.man指令(重要):7.cp指令(重要)(copy):9 cat10.more指令 (该环境下more指令可以上下翻动)11.less指令
2024-12-13 17:44:48
885
原创 刷爆leetcode Day16 greedy algorithm
leetcode1. 柠檬水找零(easy)2. 将数组和减半的最少操作次数(medium)3. 最⼤数(medium)
2024-12-10 01:13:48
374
原创 刷爆leetcode Day15 DP
DP36. 最长回文子串(medium)37. 回文串分割IV(hard)38. 分割回文串II(hard)39. 最长回文子序列(medium)40. 让字符串成为回文串的最小插入次数(hard)
2024-11-04 19:05:42
352
原创 刷爆leetcode Day14 DFS
DFS6. 计算布尔二叉树的值(medium)7. 求根节点到叶节点数字之和(medium)8. 二叉树剪枝(medium)9. 验证二叉搜索树(medium)10. 二叉搜索树中第k小的元素(medium)
2024-11-01 21:59:30
364
原创 刷爆leetcode Day13 DP
31. 最长定差子序列(medium)32. 最长的斐波那契的长度(medium)33. 最长等差数列(medium)34. 等差数列划分II-子序列(hard)35. 回文子串(medium)
2024-10-30 22:29:04
409
原创 刷爆leetcode Day12 DP
DP26. 环绕字符串中唯一的子字符串(medium)27. 最长递增子序列(medium)28. 摆动序列(medium)29. 最长递增子序列的个数(medium)30. 最长数对链(medium)
2024-10-29 17:49:45
415
原创 刷爆leetcode Day11 DFS
DFS1. 汉诺塔(easy)2. 合并两个有序链表(easy)3. 反转链表(easy)4. 两两交换链表中的节点(medium)5. Pow(x,n)-快速幂(medium)
2024-10-28 22:13:43
226
原创 刷爆leetcode Day10 DP
DP21. 乘积最⼤⼦数组(medium)22. 乘积为正数的最长子数组(medium)23. 等差数列划分(medium)24. 最长湍流子数组(medium)25. 单词拆分(medium)
2024-10-26 19:24:56
364
原创 刷爆leetcode Day9 DP
16. 买卖股票的最佳时期含手续费(medium)17. 买卖股票的最佳时机III(hard)18. 买卖股票的最佳时机IV(hard)19. 最⼤子数组和(medium)20. 环形子数组的最大和(medium)
2024-10-26 00:37:30
359
原创 刷爆leetcode Day8 DP
11. 按摩师(easy)12. 打家劫舍II(medium)13. 删除并获得点数(medium)14. 粉刷房⼦(medium)15. 买卖股票的最佳时机含冷冻期(medium)
2024-10-24 22:25:22
313
1
原创 刷爆leetccode Day7 DP
6. 不同路径II(medium)7. 礼物的最大价值(medium)8. 下降路径最小和(medium)9. 最小路径和(medium)10. 地下城游戏(hard)
2024-10-23 19:28:02
276
原创 刷爆leetccode Day6 DP
1. 第N个泰波那契数(easy)2. 三步问题(easy)3. 使⽤最⼩花费爬楼梯(easy)4. 解码⽅法(medium)5. 不同路径(medium)
2024-10-22 20:48:55
372
原创 刷爆leetccode Day5
21. ⼭峰数组的峰顶(easy)22. 寻找峰值(medium)23. 搜索旋转排序数组中的最小值(medium)24. 0〜n-1中缺失的数字(easy)25. 【模板】⼀维前缀和(easy)
2024-10-22 16:40:47
162
原创 刷爆Leetcode Day4
16. 最小覆盖子串(hard)17. 二分查找(easy)18. 在排序数组中查找元素的第⼀个和最后⼀个位置(medium)19.搜索插入位置(easy)20. x的平方根(easy)
2024-10-21 21:47:51
299
原创 刷爆Leetcode Day3
11.最大连续1的个数III(medium)12. 将x减到0的最小操作数(medium)13. 水果成篮(medium)14. 找到字符串中所有字母异位词(medium)15. 串联所有单词的⼦串(hard)
2024-10-18 04:48:33
440
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人