北海。_社区达人页

个人头像照片
北海。
已加入开发者社区643

勋章 更多

个人头像照片
专家博主
专家博主
个人头像照片
星级博主
星级博主
个人头像照片
技术博主
技术博主
个人头像照片
江湖新秀
江湖新秀

成就

已发布120篇文章
6条评论
已回答0个问题
0条评论
已发布0个视频
github地址

技术能力

兴趣领域
擅长领域
技术认证

暂时未有相关云产品技术能力~

CSDN博主、本科大二在读,改变自己,从现在开始。 临渊羡鱼,不如退而结网。

暂无精选文章
暂无更多信息

2023年05月

  • 05.30 13:10:31
    发表了文章 2023-05-30 13:10:31

    Linux基础IO【重定向及缓冲区理解】

    文件描述符 fd 是基础IO中的重要概念,一个 fd 表示一个 file 对象,如常用的标准输入、输出、错误流的 fd 分别为 0、1、2,实际进行操作时,OS 只需要使用相应的 fd 即可,不必关心具体的 file,因此我们可以对标准流实施 重定向,使用指定的文件流,在实际 读/写 时,为了确保 IO 效率,还需要借助 缓冲区 进行批量读取,最大化提高效率。关于上述各种概念,将会在本文中详细介绍,且听我娓娓道来

2023年04月

  • 04.27 16:59:52
    发表了文章 2023-04-27 16:59:52

    C++题解 | 逆波兰表达式相关

    好久没有更新题解系列博客了,今天要学习的是 逆波兰表达式,作为计算机中的重要概念,值得花时间去学习,并且其中还必须使用 容器适配器,非常适合用来练手
  • 04.23 15:30:47
    发表了文章 2023-04-23 15:30:47

    C++ STL学习之【反向迭代器】

    适配器模式是 STL 中的重要组成部分,在上一篇文章中我们学习了 容器适配器 的相关知识,即 stack 与 queue,除了 容器适配器 外,还有 迭代器适配器,借助 迭代器适配器,可以轻松将各种容器中的普通迭代器转变为反向迭代器,这正是适配器的核心思想
  • 04.23 14:44:24
    发表了文章 2023-04-23 14:44:24

    C++ STL学习之【容器适配器】

    适配器(配接器)是 STL 中的六大组件之一,扮演着轴承、转换器的角色,使得 STL 中组件的使用更为灵活,比如 栈和队列 就是属于适配器而非容器,以及神秘的反向迭代器也属于适配器
  • 04.23 14:36:27
    发表了文章 2023-04-23 14:36:27

    C++ STL学习之【vector的模拟实现】

    vector 是 STL 中的容器之一,其使用方法类似于数据结构中的 顺序表,得益于范型编程和 C++ 特性的加持,vector 更强大、更全能;在模拟实现 vector 时,还需要注意许多细枝末节,否则就很容易造成重复析构及越界访问

2023年03月

  • 03.28 21:05:45
    发表了文章 2023-03-28 21:05:45

    Linux基础IO【文件理解与操作】

    文件操作是 基础IO 学习的第一步,我们在 C语言 进阶中,就已经学习了文件相关操作,比如 fopen 和 fclose,语言层面只要会用就行,但对于系统学习者来说,还要清楚这些函数是如何与硬件进行交互的
  • 03.28 21:01:30
    发表了文章 2023-03-28 21:01:30

    Linux模拟实现【简易版bash】

    Linux 系统主要分为 内核(kernel) 和 外壳(shell),普通用户是无法接触到内核的,因此实际在进行操作时是在和外壳程序打交道,在 shell 外壳之上存在 命令行解释器(bash),负责接收并执行用户输入的指令,本文模拟实现的就是一个 简易版命令行解释器
  • 03.23 17:31:20
    发表了文章 2023-03-23 17:31:20

    Linux进程控制【进程程序替换】

    子进程 在被创建后,共享的是 父进程 的代码,如果想实现自己的逻辑就需要再额外编写代码,为了能让 子进程 执行其他任务,可以把当前 子进程 的程序替换为目标程序,此时需要用到 Linux 进程程序替换相关知识 子进程 替换为其他程序后,无法再执行原有程序,但 进程 始终为同一个
  • 03.19 10:31:54
    发表了文章 2023-03-19 10:31:54

    Linux进程控制【创建、终止、等待】

    进程创建后,需要对其进行合理管理,光靠OS是无法满足我们的需求的,此时可以运用进程控制相关知识,对进程进行手动管理,如创建进程、终止进制、等待进程等,其中等待进程可以有效解决僵尸进程问题
  • 03.12 16:50:36
    发表了文章 2023-03-12 16:50:36

    C++ STL学习之【vector的使用】

    vector 是表示可变大小数组的序列 容器,其使用的是一块 连续 的空间,因为是动态增长的数组,所以 vector 在空间不够时会扩容;vector 优点之一是支持 下标的随机访问,缺点也很明显,头插或中部插入效率很低,这和我们之前学过的 顺序表 性质很像,不过在结构设计上,两者是截然不同的
  • 03.10 11:22:41
    发表了文章 2023-03-10 11:22:41

    Linux进程学习【进程地址】

    对于 `C/C++` 来说,程序中的内存包括这几部分:`栈区`、`堆区`、`静态区` 等,其中各个部分功能都不相同,比如函数的栈帧位于 `栈区`,动态申请的空间位于 `堆区`,全局变量和常量位于 `静态区` ,区域划分的意义是为了更好的使用和管理空间,那么 `真实物理空间` 也是如此划分吗?`多进程运行` 时,又是如何区分空间的呢?`写时拷贝` 机制原理是什么?本文将对这些问题进行解答
  • 03.04 18:37:55
    发表了文章 2023-03-04 18:37:55

    C++ STL学习之【string类的模拟实现】

    string 本质上就是一个专注于存储字符的顺序表,使用起来很方便;但在模拟实现 string 时,有许多值得注意的点,下面就来看看 string 类是如何诞生的吧
  • 03.04 18:21:50
    发表了文章 2023-03-04 18:21:50

    Linux进程学习【环境变量】

    环境变量 是一个即陌生又熟悉的词,说陌生是因为大多数普通用户都接触不到 环境变量 配置,说熟悉是因为很多程序又都离不开 环境变量,比如编写 Java 时需要提前安装 jdk,配置好 Java 的环境,才能正常编写代码,python 也是需要配置编码环境;而在我们的 Linux 中也有环境变量,由 环境变量 构成的集合称做 环境变量表;我们还可以调整 进程 的优先级,使得 进程 运行更加灵活
  • 03.04 18:08:01
    发表了文章 2023-03-04 18:08:01

    Linux进程学习【进程状态】

    进程 只有被OS管理好了,才能发挥它的全部功效,而系统中存在多个 进程,OS无法做到面面俱到,因此为了更好的管理进程,OS把 进程 分成了几种状态:阻塞、挂起、运行、休眠等等,至于每种状态的应用场景是什么、有什么用?本文将会带着大家认识的各种 进程 状态
  • 03.04 17:58:04
    发表了文章 2023-03-04 17:58:04

    C++ STL 学习之【string】

    STL 是 C++ 的重要组成部分,由六大部分构成:伪函数、空间配置器、算法、容器、迭代器 和 配接器,其中各种各样的 容器 可以很好的辅助我们写程序,比如今天要介绍的 string,有了它之后,我们对字符串的操作就能变得行云流水
  • 03.04 17:40:41
    发表了文章 2023-03-04 17:40:41

    C++【模板初阶】

    早在北宋年间,中国的毕昇就已经发明了泥活字,标志着四大发明之一的活字印刷术正式诞生,从此文化传播取得了革命性突破,各种文学作品得以走进千家万户。倘若这项技术还没有被发明,那么恐怕我们现在的书本都还得靠逐字手抄传播,效率是非常低的 我们的程序也是如此,很多需要频繁使用的函数每次都得手动写,这可难不倒程序员,于是在上世纪80年代末,范型编程思想正式诞生,它就像是印刷文字的模具,将程序主体刻在其中,需要使用时让编译器根据参数类型生成即可,这就是我们今天的主角模板
  • 03.04 17:21:57
    发表了文章 2023-03-04 17:21:57

    C/C++【内存管理】

    C++中的内存管理机制和C语言是一样的,但在具体内存管理函数上,C语言的malloc已经无法满足C++面向对象销毁的需求,于是祖师爷在C++中新增了一系列内存管理函数,即 new 和 delete 著名段子:如果你还没没有对象,那就尝试 new 一个吧
  • 03.04 17:12:59
    发表了文章 2023-03-04 17:12:59

    类和对象实操之【日期类】

    在学完类和对象相关知识后,需要一个程序来供我们练习、巩固知识点,日期类就是我们练习的首选程序,日期类实现简单且功能丰富,相信在完整地将日期类实现后,能对类和对象有更好的掌握及更深的理解
  • 03.04 14:11:06
    发表了文章 2023-03-04 14:11:06

    C++类和对象(下)

    在前两篇关于类和对象的文章中,我们学习了C++类的基本形式、对象的创建与使用以及每个类中都有的六大天选之子:默认成员函数,现在对类的基本框架已经搭好,关于类和对象的学习还存在一些细节,深入理解这些细节就是本文的主要目的
  • 03.04 13:49:11
    发表了文章 2023-03-04 13:49:11

    C++类和对象(中)

    祖师爷在设计 C++ 中的类时,规定每个类中都有六个默认成员函数,即使我们不主动写,编译器也会自动生成,这些成员函数就是神秘的天选之子,不仅神秘,而且还很强大,可以这么说:类和对象的是否学懂,取决于对这几个天选之子的理解程度。本文将会逐一介绍这几个默认成员函数,跟随我的脚步,一起揭开他们的神秘面纱
  • 03.04 13:30:21
    发表了文章 2023-03-04 13:30:21

    C++类和对象(上)

    C++在原C语言的基础上新增了面向对象(Object-Oriented)的思想,使其从一门关注解题方法与过程的语言转变为关注解题对象的语言,对于C++来说,万物皆可是对象,下面跟随我的脚步,一起走进C++类和对象的世界
  • 03.04 13:21:13
    发表了文章 2023-03-04 13:21:13

    C++ 入门基础

    C++ 是 C语言 的超集,是一门在 C语言 基础上发展起来的语言,C++ 很强大,如今 C++ 已是一个多重范型编程语言,主要包含四部分:C、Object-Oriented C++、Template C++和STL,因此我们一般将 C++ 看作一个语言联邦,显然 C++ 的内容很丰富,也比较难学,但当我们掌握后,它将称为一把利刃
  • 03.04 13:03:21
    发表了文章 2023-03-04 13:03:21

    Linux进程学习【基本认知】

    进程 是计算机中的重要概念,每个运行中的程序都有属于自己的 进程 信息,操作系统可以根据这些信息来进行任务管理,比如在我们Windows中的任务管理器中,可以看到各种运行中的任务信息,这些任务就可以称之为 进程,简单的 进程 二字后面包含着许多知识,比如为什么OS需要对任务进行管理、任务信息是如何组成的、如何创建新任务等,下面我将带大家从 冯诺依曼 结构体系开始,理解学习 进程 相关知识
  • 03.04 10:51:21
    发表了文章 2023-03-04 10:51:21

    Linux工具学习之【gdb】

    vim 可以编写代码,gcc/g++ 可以编译代码,此时只最后一件神器,就能进行完整的开发工作,那就是通过 gdb 调试代码,毕竟谁都不敢保证自己的代码没有问题,所以就有调试器这种东西帮助我们定位问题,进而解决问题
  • 03.04 10:31:22
    发表了文章 2023-03-04 10:31:22

    Linux工具学习之【git】

    git 是一个代码托管平台,它的创始人是大名鼎鼎的 Linux 之父: 林纳斯·托瓦兹,git的诞生可以使我们对已提交的代码历史版本进行回溯,这是一个十分重要的功能,除了查看历史版本外,git 还支持代码合并和打标签等诸多使用功能;简言之,有了 git 以后,我们可以随时随地的对代码进行管理
  • 03.03 22:44:41
    发表了文章 2023-03-03 22:44:41

    Linux工具学习之【gcc/g++】

    书接上文,我们已经学习了 Linux 中的编辑器 vim 的相关使用方法,现在已经能直接在 Linux 中编写C/C++代码,有了代码之后就要尝试去编译并运行它,此时就可以学习一下 Linux 中的编译器 gcc/g++ 了,我们一般使用 gcc 编译C语言,g++ 编译C++(当然 g++ 也可编译C语言),这两个编译器我们可以当作一个来学习,因为它们的命令选项都是通用的,只是编译对象不同。除了编译器相关介绍外,本文还会库、自动化构建工具、提权等知识,一起来看看吧
  • 03.03 22:16:02
    发表了文章 2023-03-03 22:16:02

    Linux工具学习之【vim】

    vim 是一款小而美的编辑器,是 vi 的升级版,完美支持了其所有指令,并且新增了许多特性,作为一款编辑器,我们可以在上面写各种语言的代码(主要是C/C++)。vim 有多种模式,光是如何退出 vim 这个问题在 Stack overflow 上就有几百万的浏览量,由此可见 vim 还是有一定的使用门槛的。当然 vim 中还有许多指令和极大的自定义空间,需要不断练习以熟练使用 vim,最后我们还可以根据个人喜好配置出一款属于自己的 vim
  • 03.03 21:51:27
    发表了文章 2023-03-03 21:51:27

    Linux 权限理解和学习

    权限,是生活中必不可缺的一部分,比如某某小区的门禁制度、某某影视平台的VIP、某扣空间的黄钻等等,这些都是权限,是区分用户群体的重要方式。Linux 中也需要权限,否则这么大的一个平台就无法规范管理,Linux 中的权限主要是针对文件,比如文件权限与目录权限,下面跟着我一起来进行权限的相关学习吧。
  • 03.03 21:39:55
    发表了文章 2023-03-03 21:39:55

    带你学懂数据结构中的八大排序(下)

    排序(Sort)是初阶数据结构中的最后一块内容,所谓排序,就是通过某种手段,使目标数据变为递增或递减,排序有很多种方式:插入、选择、交换、归并、映射 等等,本文会介绍这些方式下的详细实现方法,因篇幅较长,故分为上下文的形式介绍,本文是下半部分。
  • 03.03 21:16:56
    发表了文章 2023-03-03 21:16:56

    带你学懂数据结构中的八大排序(上)

    排序(Sort)是初阶数据结构中的最后一块内容,所谓排序,就是通过某种手段,使目标数据变为递增或递减,排序有很多种方式:插入、选择、交换、归并、映射 等等,本文会介绍这些方式下的详细实现方法,因篇幅较长,故分为上下文的形式介绍,本文是上半部分。
  • 03.03 21:05:18
    发表了文章 2023-03-03 21:05:18

    听说Linux基础指令很多?这里都帮你总结好了

    对于Linux初学者来说,最头疼的莫过于各种各样的英文指令,比如什么 ls 、touch、pwd 等等,如果单纯的依靠文档学习,理解起来是比较困难的。于是我决定花费大量时间,总结多达40+条基础指令用法,配合动图演示,让大家能够轻松理解、掌握它们,指令很多,文章很长,有需要的同学可以通过文章目录跳转查看指定指令

2023年02月

  • 02.23 21:14:45
    发表了文章 2023-02-23 21:14:45

    听说你还不了解二叉树?赶紧进来轻松解决

    二叉树(Binary tree)是树形结构的一个重要类型。许多实际问题抽象出来的数据结构往往是二叉树形式,即使是一般的树也能简单地转换为二叉树,而且二叉树的存储结构及其算法都较为简单,因此
  • 02.23 20:52:26
    发表了文章 2023-02-23 20:52:26

    关于“堆”,看看这篇文章就够了(附堆的两种应用场景)

    堆(heap)是计算机科学中一类特殊的数据结构的统称,堆通常是一个可以被看做一棵树的数组对象,因此堆常常是通过数组的形式来实现的,不过堆在实现时必须遵守两个原则
  • 02.23 20:46:09
    发表了文章 2023-02-23 20:46:09

    数据结构 | 栈和队列

    栈(Stack)又名堆栈,它是一种运算受限的线性表,限定仅在表尾进行插入和删除操作的线性表。队列(Queue)也是一种特殊的线性表,特殊之处在于它只允许在表的前端(Front)进行删除操作,而在表的后端(Rear)进行插入操作,和栈一样,队列 的部分操作也会受到限制。
  • 02.23 20:32:07
    发表了文章 2023-02-23 20:32:07

    数据结构 | 单链表

    这是百度百科对于 单链表 的解释,通俗来说,单链表 就是一种数据结构,它包含了一个 数据域 data 和一个 指针域 next ,最大的特点就是 链式存储 。
  • 02.23 20:19:43
    发表了文章 2023-02-23 20:19:43

    C语言题解 | 去重数组&&合并数组

    去除数组中重复的元素 和 合并两个数组 也都是很好的题目,都是与 顺序表(数组) 有关的OJ题,适合用来练手,其中 去重数组 是去掉数组中所有重复的元素,确保每个元素都只出现一次;合并数组 指的是合并两个有序数组,合并后的新数组也要确保有序。两题都是简单题,方向对了都很容易做出来。
  • 02.23 20:15:23
    发表了文章 2023-02-23 20:15:23

    C语言题解 | 移除元素(多种解法)

    这是力扣上的一道简单题,需求是 移除数组中的指定元素,并且要求 空间复杂度为O(1) ,即原地移除,我们可以用顺序表中的任意位置删除的思想解决这个题,符合题目要求,当然还有其他解法。
  • 02.23 20:10:28
    发表了文章 2023-02-23 20:10:28

    数据结构 | 顺序表

    顺序表 本质上就是数组,这也表明 顺序表 的基本要求是存储空间要连续,并且元素必须是连续存储。除了数组外,我们还可以使用堆区上开辟的空间,这也是可以实现 顺序表 的,下面一起来看看怎么实现吧!
  • 02.23 19:59:16
    发表了文章 2023-02-23 19:59:16

    C语言题解 | 消失的数字&轮转数组

    在 数据结构 | 时间复杂度与空间复杂度 一文中,分享了两个和复杂度相关的例题,现在就来给大家分享下这两个题的多种解法
  • 02.23 19:52:59
    发表了文章 2023-02-23 19:52:59

    数据结构 | 时间复杂度与空间复杂度

    复杂度是衡量一个算法好坏的标准,可以从 时间 和 空间 两个维度进行比较。可能你之前听说某个算法的时间复杂度是O(N),空间复杂度是O(1),知道这是一个还不错的算法,那么你知道这些复杂度是如何计算出来的吗?本文将会揭开它们神秘的面纱,让你拥有一把衡量算法好坏的度量衡。
  • 02.23 19:44:36
    发表了文章 2023-02-23 19:44:36

    阶段性总结 | C语言

    阶段性总结 | C语言
  • 02.23 19:37:57
    发表了文章 2023-02-23 19:37:57

    C语言课设——通讯录(静态、动态、文件三版合一)(下)

    下面是不同版本的源码,文件版为重新编写的版本,在部分变量和函数命名上可能与前两个版本有差异,但底层逻辑是一致的。
  • 02.23 19:27:09
    发表了文章 2023-02-23 19:27:09

    C语言课设——通讯录(静态、动态、文件三版合一)(上)

    相信每个科班的同学都有过C语言课设的经历,比如教职工工资管理系统、图书信息管理系统、学生信息管理系统、通讯录系统等,其实这些课设任务的底层逻辑都是一致的,无非就是对结构体变量进行增删查改操作,同时配合文件操作将数据保存在文件夹中,本文将以通讯录举例,从静态版到文件版,让大家明白通讯录系统是如何逐步完善的。
  • 02.23 18:43:19
    发表了文章 2023-02-23 18:43:19

    C语言进阶——程序环境和预处理(下)

    宏不仅会因为优先级问题造成影响,还会因为参数传递导致副作用,因为宏参数在传递后,会原封不动的进行替换,某些操作会对参数本身造成影响,而函数就没有这种问题
  • 02.23 18:35:55
    发表了文章 2023-02-23 18:35:55

    C语言进阶——程序环境和预处理(上)

    在C/C++中,所有的代码在输出结果前都需要经过这五个阶段:预编译—>编译—>汇编—>链接—>执行代码。其中前四个阶段是在翻译环境下进行,因为在翻译环境中有编译器和链接器这两个重要工具,二者配合能将文本形式的代码转化为对应的二进制代码和可执行文件;
  • 02.23 18:18:38
    发表了文章 2023-02-23 18:18:38

    C语言进阶——文件操作(下)

    随机读写函数,需要配合上面的输入输出函数使用,所谓的随机读写,是指通过改变文件指针的偏移量,来写入或读取数据。介绍三个和随机读取有关的函数
  • 发表了文章 2024-05-15

    MySQL库的操作『增删改查 ‖ 编码问题 ‖ 备份与恢复』

  • 发表了文章 2024-05-15

    MySQL安装『适用于 CentOS 7』

  • 发表了文章 2024-05-15

    Linux多线程【线程互斥与同步】

  • 发表了文章 2024-05-15

    C++11『右值引用 ‖ 完美转发 ‖ 新增类功能 ‖ 可变参数模板』

  • 发表了文章 2024-05-15

    Linux多线程【线程池】

  • 发表了文章 2024-05-15

    C++【哈希表的模拟实现】

  • 发表了文章 2024-05-15

    Linux进程信号【信号保存】

  • 发表了文章 2024-05-15

    C++ 哈希的应用【布隆过滤器】

  • 发表了文章 2024-05-15

    C++【红黑树】

  • 发表了文章 2024-05-15

    Day4 计算糖果、进制转换

  • 发表了文章 2024-05-15

    Day6 不要二、把字符串转换成整数

  • 发表了文章 2024-05-15

    Day3 字符串中找出连续最长的数字串、数组中出现次数超过一半的数字

  • 发表了文章 2024-05-15

    C++【模板进阶】

  • 发表了文章 2024-05-15

    Linux基础IO【深入理解文件系统】

  • 发表了文章 2024-05-15

    Linux进程信号【信号处理】

  • 发表了文章 2024-05-15

    C++【set 和 map 学习及使用】

  • 发表了文章 2024-05-15

    Linux进程间通信【消息队列、信号量】

  • 发表了文章 2024-05-15

    Day5 统计回文、连续最大和

  • 发表了文章 2024-05-15

    C++【继承】

  • 发表了文章 2024-05-15

    Day2 排序子序列、倒置字符串

正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息
正在加载, 请稍后...
暂无更多信息