ARMCSKGT
码龄2年
关注
提问 私信
  • 博客:256,255
    社区:98
    动态:50
    视频:1,397
    257,800
    总访问量
  • 56
    原创
  • 104,984
    排名
  • 638
    粉丝
  • 2
    铁粉
  • 学习成就

个人简介:不能用言语去表达,尽力用行动诠释一切!

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:上海市
  • 毕业院校: 长江大学工程技术学院
  • 加入CSDN时间: 2022-08-26
博客简介:

ARMCSKGT的博客

博客描述:
C语言,C++语言以及数据结构的学习
查看详细资料
  • 原力等级
    成就
    当前等级
    6
    当前总分
    2,768
    当月
    2
个人成就
  • 获得2,283次点赞
  • 内容获得3,328次评论
  • 获得2,049次收藏
  • 代码片获得1,240次分享
创作历程
  • 2篇
    2024年
  • 39篇
    2023年
  • 15篇
    2022年
成就勋章
TA的专栏
  • 数据结构(C/C++语言)
    14篇
  • C++语言
    17篇
  • MySQL数据库
  • Linux知识与编程
    18篇
  • Linux实用小知识
    2篇
  • C语言
    5篇
兴趣领域 设置
  • 编程语言
    pythonjavac++c语言c#开发语言
  • 数据结构与算法
    算法数据结构
创作活动更多

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

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

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

高阶数据结构 <红黑树>

红黑树是在1972年由发明的,当时被称为平衡二叉B树(symmetric binary B-trees)。后来,在1978年被和修改为如今的“红黑树”。红黑树是二叉搜索树的一种,但是红黑树是性能最均衡应用场景最广的一种二叉搜索树,相对于AVL树来说,红黑树在旋转条件上并不是很严格,但是依然可以有非常出色的查找性能,这得益于红黑树的性质,本节将为大家介绍红黑树的基本性质。
原创
发布博客 2024.03.27 ·
2411 阅读 ·
41 点赞 ·
68 评论 ·
49 收藏

高级数据结构 <AVL树>

前面我们学习了二叉树,普通的二叉树没有任何特殊性质,所以后面我们又学习了二叉搜索树,这种有序的结构一定程度上优化了二叉树的性能,但是普通的二叉搜索树在特殊情况下,例如插入序列从大到小有序时,二叉搜索树会退化成类似于链表的单支数,此时性能变为O(n),为了解决这个问题,科学家在二叉搜索树的基础上再次进行升级,而有了我们现在常见的AVL树和红黑树,本节我们将介绍AVL树的基础性质。
原创
发布博客 2024.03.18 ·
1575 阅读 ·
65 点赞 ·
53 评论 ·
60 收藏

高级数据结构 <二叉搜索树>

前面我们学习了二叉树,但仅仅只是简单的二叉树并没有很大的用处,而本节的二叉搜索树是对二叉树的升级,其查找效率相对于简单二叉树来说有一定提升,二叉搜索树是学习AVL树和红黑树的基础,所以我们必须先了解二叉搜索树。本节我们介绍了二叉搜索树,讲解了二叉搜索树的相关概念,为后面AVL树和红黑树的学习做铺垫,本节我们只是实现了最基本的代码,在AVL树和红黑树中,我们将实现更多功能,来完善我们的二叉搜索树。
原创
发布博客 2023.12.23 ·
7695 阅读 ·
128 点赞 ·
236 评论 ·
116 收藏

Linux进程间通信

进程间通信(IPC)是指不同进程之间的数据交换和通信。在多进程环境下,不同的进程需要共享内存、文件等资源,但是每个进程都有自己独立的地址空间,因此需要通过进程间通信来实现进程之间的数据交换和共享。进程间通信使得进程间可以进行数据传输、资源共享、通知事件等。例如,一个进程需要将它的数据发送给另一个进程,或者多个进程之间共享同样的资源,或者一个进程需要向另一个或一组进程发送消息,通知它们发生了某种事件等。本节我们将为大家介绍进程间通信的相关知识!
原创
发布博客 2023.12.04 ·
2265 阅读 ·
99 点赞 ·
180 评论 ·
90 收藏

C++ [多态]

前面我学习完了面向对象三大特性的前两个,本节我们将为大家介绍最后一大特性,那就是多态,也是面向对象中最重要的一点,通过多态可以让一件事在不同对象的执行下表现出不同的状态,所以多态也可以说是多种状态。例如我们平时坐公交车,我们普通人刷公交卡或扫二维码支付车费即可,而学生可以刷学生卡,老人可以刷老年卡,退役军人可以刷拥军卡等等,可以看出,在乘坐公交时,对于支付乘车费这个事情上,不同对象支付费用的方式不同,这就是多态!多态是在不同继承关系的类对象,去调用同一函数,产生了不同的行为。
原创
发布博客 2023.11.14 ·
2206 阅读 ·
79 点赞 ·
138 评论 ·
76 收藏

C++ [继承]

面向对象的三大特性:封装,继承和多态,前面我们介绍了类和对象,如何对数据和数据操作方法进行封装,本章将为大家介绍另一大特性-继承,继承可以增强代码的复用性和增强功能的可扩展性,我们将学习如何通过父类衍生出更多特性的子类!这里,水果类作为父类,衍射出三种水果,苹果,西瓜和荔枝,这三种具体的水果都可以统称为水果,但是各自又有着自己的特性,例如苹果外皮是红色的,西瓜外皮是绿色的等等,这就是继承,继承将一个抽象的父类更加具体的实例表达!
原创
发布博客 2023.11.08 ·
1746 阅读 ·
59 点赞 ·
103 评论 ·
53 收藏

Linux软硬链接和动静态库

当我们安装一款软件成功后,桌面会多一个图标,如果我们点击图标就能启动软件,但那个图标就是软件本身吗?显然不是!图标只是软件启动程序的一个快捷方式,在Linux中可以通过软硬链接来创建类似于Windows下的软件快捷方式,Windows下创建快捷方式一般相当于Linux中的软连接;当Windows中的一个软件启动之后会加载各种文件,一般我们看到的软件启动程序都很小,但是软件安装包却很大,例如游戏,其实软件中大部分都是库文件,关于Linux下的库,本节将会详细为您介绍!
原创
发布博客 2023.10.06 ·
4915 阅读 ·
89 点赞 ·
161 评论 ·
76 收藏

Linux文件系统概述

简单介绍Linux系统中Ext文件系统的管理原理,以及机械硬盘的工作原理,帮助理解文件系统对于文件的管理方式!
原创
发布博客 2023.07.02 ·
4997 阅读 ·
115 点赞 ·
221 评论 ·
119 收藏

机械硬盘工作原理

发布视频 2023.07.01

C++ [STL容器适配器]

本节我们又介绍了STL适配器模式下的容器适配器,容器适配器的学习让我们对类和对象的封装又有了进一步的认识,类和类之间的组合应用有了初步的了解,最后我们学习了deque这个适配器容器的底层容器,了解了其底层结构的复杂和优缺点,这些将为我们后面的学习打下基础!欢迎阅读!
原创
发布博客 2023.06.21 ·
6212 阅读 ·
78 点赞 ·
143 评论 ·
69 收藏

C++ [STL容器反向迭代器]

我们知道STL大部分容器都有迭代器,迭代器又分为正向迭代器和反向迭代器,对于正向迭代器以及实现前面我们已经了解了不少,而反向迭代器的设计思想是适配器模式,本节我们介绍反向迭代器的实现!本节简单介绍了反向迭代器思想,将类和对象的封装意义体现的淋漓尽致,快来学习吧!
原创
发布博客 2023.06.19 ·
6244 阅读 ·
62 点赞 ·
118 评论 ·
63 收藏

C++ [STL之list模拟实现]

list的底层与vector和string不同,实现也有所差别,特别是在迭代器的设计上,本节将为大家介绍list简单实现,并揭开list迭代器的底层!list模拟实现到这里就介绍了,本篇我们简单介绍了一下list的增删功能实现(与链表差别不大),重点介绍了list的迭代器思想,深入理解list的迭代器可以让我们对类和对象又有进一步的认识,如果我们可以理解list迭代器思想,那么list的其他函数对于我们来说都不成问题!
原创
发布博客 2023.06.15 ·
6542 阅读 ·
58 点赞 ·
98 评论 ·
59 收藏

Linux重定向和缓冲区理解

前面我们介绍了文件描述符这个概念,关于文件描述符需要介绍的还有另一个知识,那就是重定向,重定向可以让我们指定程序向某一个文件流中输出数据或读取数据,操作系统只需要关心文件描述符即可;当我们在IO时,操作系统也并不是将数据直接写入文件,而是先写入缓冲区以提高效率;关于以上的概念,我们接下来将会逐一介绍!本节介绍了关于文件描述符的重定向知识,现在我们知道了我们不仅可以向屏幕打印字符,向键盘提取字符,也可以向其他文件输出和提取,因为Linux下一切皆文件!
原创
发布博客 2023.06.13 ·
6469 阅读 ·
60 点赞 ·
101 评论 ·
62 收藏

Linux文件理解和系统调用

我们在学习C语言时可以使用fopen打开文件fclose关闭文件;那么是C语言帮我们打开的文件吗?其实并不是,语言没有这个能力,而是借助操作系统之手打开文件并进行操作,本篇将为大家介绍关于Linux下文件操作的系统调用,并介绍Linux系统如何组织和管理进程打开的文件!
原创
发布博客 2023.06.08 ·
8627 阅读 ·
76 点赞 ·
113 评论 ·
70 收藏

Linux进程控制

进程并非只能创建,创建后进行合理的管理才能更好的利用进程,仅仅依靠操作系统的管理是不够的,所以本节将介绍关于进程控制的相关知识,让我们更合理的使用进程!进程替换是改变进程原有的执行代码,转而执行另一套进程代码的过程!将进程看作一个任务处理单元我们写出指令,进程依次执行命令当我们需求比较多,但代码又无法改变时,就可以使用进程替换父进程可以创建子进程,用另一个程序的代码数据替换子进程代码数据转而让子进程执行新程序的代码数据所以,进程替换的目的是让子进程帮我们执行特定任务,以应对不同场景!
原创
发布博客 2023.06.06 ·
5554 阅读 ·
60 点赞 ·
119 评论 ·
55 收藏

Linux进程地址空间

我们知道对于C/C++程序来说,程序占用的内存地址分为栈区,堆区,静态区等等,每一个程序在编译时都会分配这些空间,这些空间只是规划的虚拟地址空间,并不是分配的真实的物理空间,这样划分虚拟地址空间是操作系统为了更好的管理和使用内存空间而做的,那么虚拟地址(也称逻辑地址)是如何与物理地址联系起来的呢?本节将为您介绍!进程地址空间的介绍到这里就告一段落了,相信大家认识了Linux底层的虚拟地址空间后,对很多进程地址相关的问题一定有所解答!
原创
发布博客 2023.06.03 ·
5259 阅读 ·
50 点赞 ·
85 评论 ·
49 收藏

Linux环境变量

环境变量这个名词大家可能很陌生,对于程序员来说,我们配置某些程序的运行环境时需要配置环境变量,例如我们配置JAVA的JDK运行环境,对于不同的版本需要手动调整环境变量,每个系统中都有环境变量,本节将针对Linux系统下的环境变量进行介绍,欢迎阅读!环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数。
原创
发布博客 2023.06.02 ·
5906 阅读 ·
45 点赞 ·
78 评论 ·
45 收藏

C++ [STL之list的使用]

vector是一片连续的空间,在数据访问上性能较好,但是任意位置插入删除性能较低,头插头删性能亦是如此;此时在这种需要频繁插入的场景下,显然链表是一种更好的选择,STL中实现了带头双选循环链表,本次我们来介绍该如何使用STL中的链表list!list的使用介绍到这里就结束了,相信学会了list在需要频繁增删数据的场景下我们那个轻松应对,对于vector和list两者各有优劣,应对不同的场景我们需要合理应用甚至结合使用!
原创
发布博客 2023.05.28 ·
8932 阅读 ·
91 点赞 ·
123 评论 ·
92 收藏

C++ [STL之vector模拟实现]

vector是STL容器容器之一,其底层实现类似于数据结构顺序表,相当于string来说得益于泛型模板的加持使得vector可以变为任何类型,且是可以动态扩容,堪称大号数组!在vector的实现中,有许多值得我们学习的细节,接下来将为大家一 一介绍!
原创
发布博客 2023.05.27 ·
5322 阅读 ·
29 点赞 ·
59 评论 ·
31 收藏

C++ [STL之vector的使用]

vector是可变大小的数组序列容器,一般也叫向量;底层原理是顺序表,但是vector是泛型容器,可以支持int,double甚至自定义类型的存储,在平时应用非常频繁且广阔,vector在很多场景下可以提高我们的开发效率,所以学习vector这一利器的使用是必须的!vector的使用介绍到这里就结束了,vector是一款强大的泛型顺序表,他弥补了数组无法动态扩容的缺点,以及泛型思想使得vector可以实例化成任何类型的顺序表,但只其实现只有一份代码,相信vector的使用学习会提高你的开发效率!
原创
发布博客 2023.05.21 ·
6059 阅读 ·
61 点赞 ·
123 评论 ·
58 收藏
加载更多