熬夜不秃头!
码龄3年
关注
提问 私信
  • 博客:152,523
    152,523
    总访问量
  • 64
    原创
  • 511,439
    排名
  • 94
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
  • 加入CSDN时间: 2021-05-26
博客简介:

li94263的博客

查看详细资料
个人成就
  • 获得193次点赞
  • 内容获得20次评论
  • 获得796次收藏
  • 代码片获得791次分享
创作历程
  • 1篇
    2023年
  • 33篇
    2022年
  • 30篇
    2021年
成就勋章
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

【快速排序】

(1):以 nums[left] 为基准元素将 nums[left : right] 划分成3段 nums[left: mid-1],nums[mid] 和 nums[mid+1:right],使得nums[left:mid-1] 中任何元素小于等于 nums[mid], nums[mid+1:right] 中任何元素大于等于 nums[right]。下标 mid 在划分过程中确定。(2)
原创
发布博客 2023.05.11 ·
381 阅读 ·
1 点赞 ·
2 评论 ·
1 收藏

一、Linux的复制与替换--printf函数输出问题、主函数参数介绍、fork进程

这里写目录标题3、复制进程 fork3、复制进程 fork总结:复制从 fork 执行结束开始,父进程中 fork 的返回值为子进程(pid)的 id 号,子进程的返回值为 0。在进程中打印的变量地址,都是逻辑地址,不是物理地址。子进程会复制父进程的内存空间。僵死进程: 子进程先于父进程结束,父进程没有获得子进程的退出码,子进程就变成僵死进程。...
原创
发布博客 2022.05.16 ·
493 阅读 ·
3 点赞 ·
1 评论 ·
0 收藏

C++(函数重载和函数模板)

重载和模板一、函数重载1、函数重载定义2、判断函数重载的规则2、名字粉碎(名字修饰)3、C++编译时函数名修饰约定规则:4、C++函数是重载二、函数模板一、函数重载1、函数重载定义  在C++中可以为两个或两个以上的函数提供相同的函数名称,只要参数类型不同,或参数类型相同而参数的个数不同, 称为函数重载。示例:// my_max + 参数表int my_max(int a,int b){ return a > b ? a : b;}char my_max(char a,char b
原创
发布博客 2022.05.15 ·
1778 阅读 ·
2 点赞 ·
1 评论 ·
6 收藏

C++(函数缺省)

函数缺省和重载  一般情况下,函数调用时的实参个数应与形参相同,但为了更方便地使用函数,C++也允许定义具有缺省参数的函数,这种函数调用时,实参个数可以与形参不相同。  定义:定义函数时为形参指定缺省值(默认值)。在调用缺省函数时,对于缺省参数,可以给出实参值,也可以不给,不给则按照默认缺省值使用。实例:#include<iostream.h>void delay(int loops = 5){ //延时函数,默认延时5个时间单位for (; loops > 0; l
原创
发布博客 2022.05.15 ·
739 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

C++(inline函数)

inline函数1、为什么需要inline 函数2、inline函数的使用3、inline函数的总结4、inline 函数的适用情况5、内联函数与宏定义的区别1、为什么需要inline 函数  当程序执行函数调用时,系统要建立栈空间,保护现场,传递参数以及控制程序执行的转移等等,这些工作需要系统时间和空间的开销。  当函数功能简单,使用频率很高,为了提高效率,直接将函数的代码嵌入到程序中。但这个办法有缺点,一是相同代码重复书写,二是程序可读性往往没有使用函数的好。  为了协调好效率和可读性之间的矛盾
原创
发布博客 2022.05.14 ·
2410 阅读 ·
3 点赞 ·
0 评论 ·
4 收藏

C++基础(引用)

引用(别名)1、引用的特点2、const引用3、引用作为形参代替指针4、其他引用形式5、指针和引用的区别1、引用的特点定义:类型 & 引用变量名称 = 变量名称& 和类型结合称为引用,不是取地址的符,代表别名的意思。int main(){ int a = 10; int b = a;//变量 int &c = a;//引用 return 0;}特点:引用必须初始化没有空引用没有引用的引用,所谓的二级引用举例:int main(){ int
原创
发布博客 2022.05.13 ·
193 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

1、C++基础(const和指针)

C++基础const 和指针1、const 在C和C++中的区别2、const和指针的关系3、常变量与指针4、同类型指针的赋值兼容规程const 和指针1、const 在C和C++中的区别C中以变量为主int main(){ const int n = 10;//C中以变量为主 int ar[n] = {1,2};//error int *p = (int*) &n; *p = 100; printf("%n = %d *p = %d
",n,*p); return 0
原创
发布博客 2022.05.12 ·
209 阅读 ·
1 点赞 ·
2 评论 ·
1 收藏

Linux基础(3)

Linux基础7. 库文的生成和使用1. 什么是库文件?2. 静态库的生成和使用2.1 静态库的生成2.2 静态库的使用3. 共享库的生成和使用3.1 共享库的生成3.2 共享库的使用4. 静态库和共享库的区别7. 库文的生成和使用1. 什么是库文件?库是一组预先编译好的函数方法的集合Linux上库文件的存放的位置:/lib 和 /usr/lib库分为两种:静态库和共享库Linux上的静态库标识(libxxx.a),共享库(libxxx.so)  windows上静态库标识(.lib),共
原创
发布博客 2022.04.29 ·
496 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Linux基础(2)

这里写目录标题6、进程管理命令6.1什么是进程6.2进程在内存中怎么管理?6.3进程查看命令6、进程管理命令6.1什么是进程程序:是完成特定任务的一系列数据+指令的集合(钢琴琴谱,在磁盘上)进程:正在执行的程序(根据琴谱弹奏的过程,运行在内存上)  进程(process):是计算机上一端程序的执行过程,是操作系统进行资源分配的基本单位,但是进程不仅仅是局限于一段可以执行的代码段,通常进程还需要包含其他资源,例如打开的文件,挂起的信息处理器的状态等。  简而言之,进程就是正在执行的程序代码的实
原创
发布博客 2022.04.20 ·
1454 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

字符串匹配

文章目录一、基础二、BF算法(暴力求解)1、第一种BF算法2、优缺点三、KMP算法一、基础字符串:“abcd”字串:真子串:" ",“a”,“b”,“c”,“d”,“ab”,“bc”,…不包括自身二、BF算法(暴力求解)1、第一种BF算法如果 i 和 j 指向的字符相等,则i++,j++2、优缺点优点:逻辑简单、实现也简单确定:效率很低,时间复杂度为O(n*m)三、KMP算法核心思想:i 不回退...
原创
发布博客 2022.04.04 ·
225 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

数据结构----归并排序、快速排序

归并排序、快速排序一、归并排序1、规则2、代码3、时间复杂度、空间复杂度、稳定性二、快速排序1、规则2、代码3、时间复杂度、空间复杂度、稳定性三、总结一、归并排序1、规则首先将所有的数据默认每个组,当所有的数1、将所有数据单独给每个数据每个组(每个数据单独看,就是有序的)原始数据:    84  9 18 19 48 12 90 84 90 12第一次两两合并: 9  84 18 19 12 48 84 90 12 902、代码3、时间复杂度、空间复杂度、稳定性时间复杂度:O(n*l
原创
发布博客 2022.04.02 ·
911 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

数据结构----选择排序、基数排序(桶排序)

选择排序、基数排序一、选择排序1、规则介绍2、代码及测试结果3、时间复杂度、空间复杂度、稳定性二、基数排序(桶排序)1、规则介绍2、代码及测试结果3、时间复杂度、空间复杂度、稳定性一、选择排序1、规则介绍    每一趟从待排序系列中找到最小值(下标)和待排序列的第一个值(下标),然后将两个交换,知道待排序列中只剩下一个值。(每一次都找一个最小值放到前面,len-1趟即可)。2、代码及测试结果void Show(int arr[], int len){ for (int i = 0; i <
原创
发布博客 2022.03.28 ·
209 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

图书管理系统

图书管理系统1、学生、图书信息的结构体设计(1)头文件(2)宏定义(3)结构体设计2、图书管理系统主菜单设置3、图书管理模块(1)显示图书信息A、显示书籍管理的主菜单B、文件读取图书C、显示图书信息(2)新增图书信息(3)查找图书信息(4)删除图书信息(5)修改图书信息A、显示修改选项的子菜单B、保存图书信息的函数C、修改图书(6)图书管理模块4、读者管理模块(1)显示读者信息A、显示读者管理的主菜单B、文件读取读者信息B、显示读者信息(2)新增读者信息(3)查找读者信息(4)删除读者信息(5)修改读者信息
原创
发布博客 2022.03.25 ·
546 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

Linux基础(1)

Linux基础一、Linux介绍1、Linux形成历史二、 Linux简介1、Linux和Window系统有什么区别?2、Linux 的内核版本和发行版本三、Linux目录结构1、Linux的文件目录结构图:2、常用目录介绍:一、Linux介绍1、Linux形成历史 Linux(类unix系统):多用户多任务的操作系统。 unix系统:贝尔实验室1969年开发,在unix7系统,发现unix的商业价值,就收回授权,最终在1982年发布第一个完全商业版本unix system 3。
原创
发布博客 2022.03.24 ·
1304 阅读 ·
2 点赞 ·
1 评论 ·
2 收藏

数据结构--冒泡排序

1、(1)冒泡排序:沉石排序,每一趟循环两两比较,大的向后挪动,最终最大值放在最后,假设有n个书数据,则需要跑n-1趟。代码:void BubbleSort(int* arr, int len){ for (int i = 0; i < len - 1l; i++) { for (int j = 0; j + 1 < len-i; j++)//比较的下一位j+1<每一趟的最后一位数(len-i) { if (arr[j] > arr[j + 1]).
原创
发布博客 2022.03.24 ·
1672 阅读 ·
1 点赞 ·
0 评论 ·
6 收藏

数据结构--一致性哈希、虚拟节点、布隆过滤器

1、一致性哈希:由于服务器数量发生改变,导致服务器中的数据受到影响2、这是一个圆形,认为这个圆上存在无数个点,假设这个圆上存在2^32个点,每个点有一个编号从0~2^32这时,图片的关键字对2^32取余,结果看到底放到哪一台服务器上服务器分布不均匀,会导致有的服务器压力过大崩溃,因此引入虚拟节点虚拟节点:不存在的点,臆想出来的点 3、布隆过滤器 使用场景:假设有11E个整型值,不重复,现在需要确定X值在不在这10E个整型值内?(从...
原创
发布博客 2022.03.23 ·
199 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

数据结构--直接插入排序、希尔排序

八大排序:冒泡排序、选择排序、直接插入排序、希尔排序、堆排序、归并排序、快速排序、基数排序(桶) 直接插入排序:开始将数据分为两部分,初始数据都是无序的,每一次从待排序队列中取出一个值,放到我们已排序好的队列中,将其调整有序,再从待排序队列中取一个值,直到待排序队列中没有值结束。调整规则:将待插入的值和有序队列的所有值挨个比较(从右到左),找到一个小于或者等于自己的值,则停下,插入到当前位置的下一个位置。代码:直接插入排序的特点:1、时间复杂度过大O(N^2)...
原创
发布博客 2022.03.22 ·
550 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

数据结构---堆排序

1、叶子完全二叉树:节点必须按从左到右存放,少也要从右边节点开始少,不能从中间突然少一个节点满二叉树:也是完全二叉树的特例大顶堆:父节点的值大于孩子节点 小顶堆:父节点的值小于孩子节点 叶子节点:2、堆排序:默认从小到大排序,使用大顶堆 默认从大到小,使用小顶堆(1)...
原创
发布博客 2022.03.22 ·
3359 阅读 ·
5 点赞 ·
0 评论 ·
24 收藏

数据结构--利用链地址法处理哈希冲突

链地址法:1、结构体设计:typedef int ELEM_TYPE;#define MAX_SIZE 12//链地址法 中 后边连接的单链表的有效节点设计:typedef struct Node { ELEM_TYPE data;//一个数据域 struct Node *next;//一个指针域}Node, *PNode;//链地址法的 哈希表头设计typedef struct Head{ struct Node arr[MAX_SIZE]; //数组 12个格子
原创
发布博客 2022.03.21 ·
2271 阅读 ·
2 点赞 ·
0 评论 ·
27 收藏

数据结构----哈希

哈希函数的构造方法:1、直接定址法2、数字分析法3、折叠法4、除留余数法5、随机数法6、平方取中法如何处理哈希冲突:1、开放地址法2、再散列函数法3、链地址法4、公共区溢出法...
原创
发布博客 2022.03.18 ·
1040 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏
加载更多