- 博客(34)
- 收藏
- 关注
原创 利用Go语言模拟实现Raft协议
本文将从头开始复现个人利用 Go 语言模拟实现 Raft 的过程,系统实现包括本地 Raft 节点注册,Raft 节点的投票和选举,心跳监听,超时选举,Http监听,日志复制,日志提交。本文按照个人思路,将每一部分分块进行讲解,并提供了代码,理论上可以直接运行,同时也能让初学者更好的验证每一步的代码。
2024-09-02 17:02:43 2077 2
原创 vector模拟实现——关于模拟中的易错点
vector 本质上类似数组,也可以理解为一种泛型的 string。string 只能存储 char 类型,但是 vector 支持各种内置类型和自定义类型。本次将围绕模拟实现 vector 中遇到的问题进行分析。
2023-09-14 21:19:27 233
原创 string类的模拟实现——模拟的技巧
对于学习STL而言,最重要的手段之一就是亲手模拟实现一个自己的容器。string存储只为char类型,且操作上并没有很难的操作。因此对于初学者而言,string是一个很好的练手项目。
2023-09-11 10:31:03 205
原创 浅述C++模板——函数模板及类模板
模板的优点显而易见,一方面节省了资源,便于代码的迭代更新,另一方面增加了代码的灵活性。那是不是我们要多多使用模板呢?答案是否定的。首先模板相比于普通的函数需要的编译时间更长,且出现错误信息时不易定位错误位置。所以具体使用重载还是模板要根据实际情况来合理进行判断选取。
2023-09-07 13:50:28 225
原创 浅述C++内存管理——new与malloc的不同
C++相对于其他语言有一个重要的特点就是对于内存的管理,相比于C语言,C++提供了新的关键字new来代替malloc的功能,其中有何不同,请看下文。
2023-09-06 00:04:21 204
原创 C++日期类的基本实现
对于许多出初学C++的同学来说首先接触的第一个完整的类便是日期类,这个类能有效的帮助我们理解C++中有关类的初始化以及重载的相关知识,帮助我们轻松上手体验C++的魅力。
2023-09-03 22:12:19 459
原创 【C++】类和对象(下篇)—— 默认成员函数,const成员函数,运算符重载
类和对象没有技巧,只有多加练习,多多尝试自己完成代码,例如各种运算符的重载,或是实现一个自己的日期类。
2023-04-24 17:07:42 784 1
原创 排序算法——稳定性,复杂度,具体代码实现【C语言】
本文主要讲解了几个常见的内排序,包括了比较排序的插入排序,希尔排序,选择排序,堆排序,冒泡排序,交换排序,快速排序(递归和非递归),归并排序(递归和非递归),以及两种非比较排序计数排序和基数排序,对于每种算法的复杂度给出了结果,但并未给出推导过程,但是对于每一个不稳定算法都给出了例子,如堆排序不稳定的例子,最后附上了力扣的在线OJ,用于进行排序算法的练习和对自己写的排序算法的测试,希望对大家有所帮助
2023-04-04 08:00:00 834 2
原创 二叉树和堆的讲解和实现(图解+代码/C语言)
简要讲解了树的概念。主要讲解了如何实现堆,利用堆进行堆排序,解决 TOP-K 问题;还主要讲解了二叉树的实现,如创建,判断结点个数等,主要以递归的方式解决相关的问题;;
2023-02-12 12:16:51 638 1
原创 队列的讲解和实现(图解+代码/C语言+循环队列OJ)
今天为大家分享的是队列的实现,本文主要介绍单向链表来模拟实现队列,最后给出力扣上一道循队列的OJ实现。
2023-01-13 20:59:47 959
原创 双向循环链表的讲解及实现(图解+代码/C语言)
本文主要分享了双向循环链表(带头)的写法,使用C语言完成,文中附有具体的结构图片帮助大家理解,希望对大家有帮助
2023-01-04 22:21:28 4978 1
原创 【C++】类和对象(上篇)——类的定义,访问限定符与this指针
C 语言和 C++ 最大的区别就是一个面向过程,一个面向对象。而提到面向对象就不得部提到类,这一篇文章,我们主要探讨一下 C++ 中类的定义以及一些基本的权限。
2022-10-07 07:30:00 955 21
原创 【C++】引用的特性、使用场景以及用法
引用,作为 C++ 区别于 C 语言的一种特性,其重要性不言而喻,今天小黄就和大家共同学习一下引用的具体用途,优势以及用法,期待大家相互指点!
2022-10-06 00:45:11 2495 12
原创 【C++】内联函数、auto、范围for循环,nullptr
今天就是 C++ 新手村的最后一站啦,之后小黄就要开始学习 C++ 的类啦,也就是出了新手村之后 的第一个挑战,大家要一起坚持下去,一起努力变好呀!
2022-10-05 07:30:00 507 17
原创 【C++】命名空间namespace,cin,cout,函数重载
今天的主要内容是 C++ 的入门部分,了解一下命名空间,C++ 的输入输出以及不同于之前 C 语言的函数重载,欢迎大佬们指正。
2022-09-19 07:30:00 1765 19
原创 【数据结构与算法】时间复杂度与空间复杂度(大O渐进表示法)
文者执笔,武者持矛,程序猿的武器则是数据结构和算法。很多同学可能学了C语言好像没有什么用,还是有很多题目不会写,这就和数据结构和算法有关系。只有学好数据结构和算法,才能真正意义上的迈入计算机编程的大门!
2022-09-03 07:00:00 452 8
原创 【C语言】职工管理系统详解(文件操作)
大部分初学计算机的同学完成的第一个比较完整的程序就是管理系统,不过细分之后可能还有图书管理系统,停车场管理系统。在小黄看来,一个人独立地完成这样一个系统对于自己代码能力的整体提升是非常大的,是把之前所学都融汇贯通的一个实现,同时也是对自己调试的能力的一个锻炼。总而言之,如果有机会,大家可以自己试一试独立完成一个完成的系统。...
2022-08-25 10:16:01 1955 25
原创 【濡白的C语言】数据的存储(大小端模式,原码反码补码,浮点数的存储,浮点型精度缺失的原因)
整形和浮点型在内存中的存储,大小端模式,原码反码补码的含义,浮点型精度缺失的原因
2022-08-11 14:43:32 557 2
原创 扫雷,不展开咋玩?
嘿!是不是写扫雷小游戏的时候发现一个个输入太慢了?是不是想要展开却发现陷入了死递归?让小黄教教你怎么巧妙地解决这个问题吧!其实总结起来就是一句话““可以让计算机多判断,但是不能让他多算”。只要每次判断一个格子周围雷数的时候赋值到另一个棋盘,后续递归的时候就不判断这个地方的棋盘就解决啦!PS:采用了多文件的编写方式哦~头文件部分“简单“”对游戏做了一个“小小的”提升,添加了可自行选择棋盘的大小,以及游戏时可以选择如何排查,存疑,确定操作,这样才...
2022-05-05 22:32:25 4308 45
原创 【濡白的C语言】初学者-从零开始-5(模块化设计——函数,传值和传址)
C语言编程又称模块化设计,模块化的设计思想是一个程序员必不可缺少的思想。目录函数类型main主函数库函数自创函数函数使用函数类型与函数的返回值形参与实参传址调用与传值调用函数设计要求高内聚低耦合好的函数名函数类型说到模块化设计,就不得不提到函数。什么叫函数,就像高中数学中提到的,函数的...
2022-04-21 22:15:09 933
原创 栈的简单应用——带括号的小数四则运算计算器(逆波兰表达式)
不会吧,不会吧,不会吧?还有人不知道怎么用栈写出一个带括号的四则计算器吗?然鹅,当他们开始写的时候,才突然发现,上了个大逼当!光是乘除先于加减就已经难倒一片同学了,更丧心病狂的是有的学校还加上了括号!不过没关系,今天就让濡白来给大家梳理一下,如何利用栈的思想以及逆波兰表达式快速解决这......
2022-04-14 19:12:57 2902 33
原创 【濡白的C语言】初学者-从零开始-4(欢喜冤家static与extern)
从一窍不通的小小白,到熟练使用C语言!持续更新~本文主要介绍extern和static两个关键字的使用方法与常见的使用场景
2022-04-11 19:46:32 490 3
原创 【濡白的C语言】初学者-从零开始-3(三大结构—顺序结构,分支结构,循环结构)
学习C语言,必须要掌握的是三大结构——顺序、分支和循环。一切C语言程序都可以用这三个结构总结,因此熟练掌握它们,对于写程序以及理解程序都是非常有必要的。顺序结构 简而言之,顺序结构就是一切程序从首行开始,自顶向下进行编译。这是C语言最基本的结构...
2022-04-10 00:19:26 1094 6
原创 leetcode力扣刷题之——单链表详解(两万字细节讲解,头插法尾插法,删除交换,翻转)
本文详细讲解了常见的链表创建方法,以及对链表常用的几种操作,包括对操作的优化处理,同时给出部分题目的leetcode链接,方便大家测试!
2022-04-05 23:00:29 2494 14
原创 【濡白的C语言】初学者-从零开始-2(常量,一维数组,转义字符)
从一窍不通的小小白,到熟练使用C语言!持续更新~本文主要介绍常见的几种常量,一维数组的定义与注意项,几种常见的转义字符
2022-04-03 22:46:51 1037 2
原创 【濡白的C语言】初学者-从零开始-1(printf与变量)
从一窍不通的小小白,到熟练使用C语言!持续更新~本文主要讲述了printf的基本用法,以及简单引出变量的概念和用法
2022-04-03 16:10:35 1502 3
原创 【濡白的C语言】初学者需要注意的坑,亲身经验
前言大部分学习计算机的人首先接触的一门语言都是C语言,但是经常会发现对于同样的课程,学习完之后不同的人能力却有着天壤之别 !而差别出现的原因大部分是学习过程的方法不好,于是精心整理一下了自己学习C语言时总结出来的几个关键点!点个赞是对博主的最大支持!关于刷题很多初学者经常有一种错觉就是,我C语言还没有学好,我还啥都不会,我应该先学一段时间在开始刷题。 但是我认为,刷题应该是和学习同步的,对于不同的阶段,刷不同的题,任何一门语言都是需要实践的。仔细想一下C...
2022-03-25 15:48:41 789 4
原创 【濡白的C语言】从零开始的刷题之旅
每个人都是从小白成长起来的,在此篇记录一些我从小白开始刷到的一些有意义的题目,不定期更新题目,建议收藏后享用~感谢支持,也欢迎评论出想看的题目类型,会考虑添加的!题目的话我会给出题干,代码,最后附上我对题目值得注意或学习的地方。
2022-03-20 18:56:10 1721 3
原创 扫雷(可展开)
如果是对展开部分不知道怎么写,我个人总结就是一句话“可以让计算机多判断,但是不能让他多算”,添加一个判断部分需不要要计算,就可以很好的避免栈溢出
2022-01-10 21:51:15 3101 4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人