自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 收藏
  • 关注

原创 进程与信号

软中断信号(signal,简称为信号)用来通知进程发生了异步事件。进程之间可以互相通过系统调用kill发送软中断信号。内核也可以因为内部事件而给进程发送信号,通知进程发生了某个事件。注意,信号只是用来通知某进程发生了什么事件,并不给该进程传递任何数据。收到信号的进程对各种信号有不同的处理方法。处理方法可以分为三类:第一种是类似中断的处理程序,对于需要处理的信号,进程可以指定处理函数,由该函数来处理。第二种方法是,忽略某个信号,对该信号不做任何处理,就象未发生过一样。

2025-04-09 12:19:11 901

原创 命名管道通信和共享内存通信

介绍共享内存通讯和命名管道通讯两种通讯方式,包括命名管道的实现方式以及共享内存的思路。

2025-02-27 19:43:49 1004

原创 linux中,软硬链接的作用和使用

介绍linux中软硬链接的介绍和使用。还包括一些文件系统和链接知识相关的部分,例如inode用来维护文件的属性和内容。

2025-02-06 21:12:23 1284

原创 访问文件和文件重定向

主讲linux系统中打开文件的接口和对程序的输入输出重定向。

2025-01-18 17:09:07 1144

原创 MyShell

500行代码实现简单的Shell功能

2025-01-16 18:11:30 1089

原创 进程和地址

进程是计算机中用来完成目标的程序,计算机中程序有许多。那么操作系统要为这些程序分配空间,并且依次执行。操作系统如何分配地址空间,如何建立进程,进程的操作。这些内容将会是本节博客的主要内容。

2025-01-16 13:47:19 1099

原创 Linux环境变量和命令行参数

最近学到了关于环境变量和命令行参数的相关内容,为了以后方便复习,所以整理一下讲讲看。内容挺多的,除了单独的意义之外,还包括如何获得这些参数。这里尽可能用简单的话概括了。

2024-12-01 06:10:34 667

原创 C++编译器成长史

本文将介绍C++11中新增的内容以及使用的方式,这些都是C语言编程中比较重要的部分。

2024-11-19 14:02:21 914

原创 make和makefile

本期内容会和大家介绍Linux系统中make和makefile的作用以及关联性

2024-10-28 17:03:56 1002

原创 哈希表和封装

哈希表是一种对需要存储内容进行投射,存储到数组里的表。

2024-10-24 18:29:10 758

原创 红黑树以及插入的实现

红黑树的逻辑最后是保证最大高度不会超过最小高度的两倍

2024-10-14 13:05:38 1080

原创 平衡二叉搜索树删除的实现

平衡二叉搜索树删除的实现

2024-10-01 12:03:03 905 3

原创 平衡二叉搜索树插入的实现

因为二叉搜索树在插入的时候最坏的情况可能会变成一条单一链表,从而使查找或者插入的时候消耗大量的时间。所以为了解决这一情况诞生了平衡二叉搜索树,其作用是为了减少二叉搜索树的整体高度,从而使查找插入删除的效率提高。

2024-09-28 10:58:32 929 3

原创 set和map系列容器

学习完二叉搜索树本来是应该直接深化,讲平衡二叉搜索树的。但是在学习它的底层逻辑之前呢,我们先来学学它的应用场面。

2024-09-25 11:02:03 826 9

原创 二叉搜索树

二叉树的升级版,二叉搜索树

2024-09-15 18:38:07 919 3

原创 初步认识Linux系统

本博客会设计到一些历史方面关于计算机和Linux系统,文字部分会比较多。然后会简单的涉及到Linux的简单操作,只会比较简单的。然后会用Linux写一个简单的C语言文件并且在Linux系统上跑起来。

2024-08-13 10:48:21 1313 3

原创 C++继承和多态

继承和多态发生在类里面,继承就相当于一个类能够继承另一个类的函数和成员。继承的类被称为子类,被继承的类被称为父类。本文会简单的举例一些继承的使用和介绍一些继承的多种因素,各种注意事项之类的内容。

2024-08-09 20:53:28 872 3

原创 C++模版进阶

学习到这里,C++容器的部分暂时告一段落。不过接下来进行的是和模版有关的内容,不少人就要问了,之前不是写过模版的博客吗?当然写过,只不过写的是初级的内容,模版还可以更加深化的去讲。这设计到一些底层的实现,不过大致的逻辑是相通的,同时也是给继承和多态做一个铺垫。 本期内容比较简单内容较少,熟系的小伙伴直接跳过。

2024-08-04 10:21:02 770 2

原创 C++适配器

学习完了标准库中的string、vector、list这些容器之后,就是使用这些容器了。C++中因为类对结构体的升级,所以能够更加方便的使用这些容器用来适配于我们所需要面对的对象。本节将继续介绍一个新的容器,随后利用适配器原理模拟构建stack以及queue。

2024-08-03 12:42:50 999 7

原创 list以及list的迭代器

string和vector是开辟的连续空间,所以迭代器能够直接使用指针进行。但是list中的空间不是连续的,那么不能用指针的“++”“--”来找到下一块资源的位置,所以我们需要一个新的类来封装迭代器实现它的效果。

2024-08-01 10:41:54 1308 6

原创 vector以及迭代器失效

vector和string是相似的,vector相当于string中的char元素变为其他元素。vector相当于是用模版,将元素的类型范围扩大了。接下来将会细致介绍vector中的函数,以及迭代器失效问题。

2024-07-28 17:05:19 1109 6

原创 string使用及模拟

本篇博客将会介绍标准库中的string,string中各种函数的作用和用法,最后会穿插自己写的string模拟。最后扩展一下string的标准。

2024-07-25 17:44:04 1230 9

原创 C++中的new和模版

随着C++的学习,讲了C++的发展过程、流插入、流提取、函数缺省值、类与构造等等。接下来学习C++很方便的 玩意,函数模版。函数模版就像是模具一样,C++会自动用模版编译出合适的函数供程序员使用。以前不同类型相同操作的函数都能通过函数模版,只写一个来解决。这么说来,怪不得祖师爷会写出函数重载这样的优化。因为如此,函数模版大有作用。

2024-07-19 19:59:38 1278 8

原创 C++类和对象

本次举例会比较简单,举例一个日期类。不包含指针在类中,所以不需要深层拷贝,之后碰到栈和队列之后会继续深化这一块。将拷贝构造改为深拷贝——及拷贝指针指向的资源

2024-07-14 21:20:04 924 5

原创 初识CPlusPlus(序)

本文,将介绍C++中的引用、函数模版、inline函数、类和对象及其中具体内容,包括构造函数、析构函数等6大函数,拓展的2种函数留到之后再讲。

2024-07-11 15:40:16 1104 6

原创 初识CPlusPlus

C++的来源和概况,以及C++中和C语言中的一些不同,对于C语言来说的优势,等等。

2024-07-09 21:00:41 1341 7

原创 C语言,排序

和计算机相关的排序功能原理的简单介绍,包含了7种排序方法:插入排序、希尔排序、选择排序、堆排序、冒泡排序、快速排序、归并排序。

2024-06-03 17:30:18 1161 3

原创 C语言二叉树oj练习题

学习完二叉树,就要做练习题。

2024-05-30 18:58:13 1057 2

原创 C语言二叉树

二叉树(Binary tree)是树形结构的一个重要类型。许多实际问题抽象出来的数据结构往往是二叉树形式,即使是一般的树也能简单地转换为二叉树,而且二叉树的存储结构及其算法都较为简单,因此二叉树显得特别重要。二叉树特点是每个节点最多只能有两棵子树,且有左右之分。

2024-05-21 16:57:38 1181 7

原创 栈和队列OJ练习题及解答

上一篇博客已经讲到了栈和队列的数据结构,概括一下:栈后进先出(Last In First Out)、队列先进先出(First In First Out)。那么,接下来就来讲讲,关于栈和队列的相关练习题,进一步掌握栈和队列的使用。

2024-05-12 20:21:26 1308 10

原创 数据结构:栈和队列

本文将详细介绍栈和队列的数据结构,并给出编译举例方便读者理解。队列和栈,是数据结构中继顺序表链表以来又一个大章,是链表、顺序表的具体应用方式。他们是相互关联的,不同之处在于队列和栈离实际的应用更近一步。

2024-05-11 20:27:30 1425 3

原创 约瑟夫问题新解法

谁能想到原来解决约瑟夫问题的四五十行代码,如今只需要三行就搞定了呢?

2024-05-03 21:16:47 723 6

原创 链表相关练习题以及题解

学习完了链表结构,不妨多加练习熟系这种数据结构。所以本篇论文列举出了一些和链表相关的练习题,并描述解题思路,相信对能够令读者对链表这种结构的掌握更加得心应手。

2024-05-01 10:28:08 1207 6

原创 用C语言实现贪吃蛇

在用C语言实现贪吃蛇的过程中,我们会用到许多之前所学到的内容。包括但不限于:结构体、枚举类型、链表等。为了在控制面板中实现贪吃蛇,我们还需要掌握一些新的系统命令,操作系统的函数。本篇将介绍如何用C实现贪吃蛇。

2024-04-18 20:13:55 1125 5

原创 单链表与双链表

本篇博客还是与数据结构有关,这次讲的是单链表和双链表。为了方便讲解还是和顺序表一样采取通讯录的载体,分为两大类讲。仔细来说的话这里的单向链表指的是单向不带头不循环链表,而双向链表指的是双向带头循环链表。这两个正好是链表两个极端,一个结构简单但是用起来不太方便,一个结构复杂但是非常好用,真是合适的一对。

2024-04-14 21:17:19 1062 2

原创 用到顺序表的通讯录

顺序表式数据结构中基础部分,也是我接触C语言学到数据结构中的线性结构第一次接触到的结构。从整体上来看,顺序表就像是一个大数组。能够扩容,能够装自定义变量的数组。和普通在栈内的数组不同,我们需要在堆区开辟 空间。这就用到了之前学到的“malloc”、“realloc”。

2024-04-09 20:42:04 728 3

原创 编译与链接

编译与链接指的是文本文件“.c“变成可执行程序“.exe”的中间过程。其中编译指的是讲文本文件”.c“通过汇编翻译成计算机能懂的目标文件“.obj”,而链接是指将这些目标文件“.obj”组合起来,加上标准的库文件组成一个可执行程序“.exe”。

2024-03-27 13:12:50 813 2

原创 C语言与文件操作

计算机中能在内存中存储数据,但是内存的大小为8~16G,这个大小如果被用完将会溢出数据,那么我们要怎么储存更大的数据呢?这就要将数据存储到硬盘中。如果要将数据存储到硬盘中,C语言提供了文件操作函数,可以把数据储存到文件中。这样就解决了内存不够大的问题。

2024-03-26 11:25:31 944 2

原创 C语言中的结构体与联合体

结构体和联合体是C语言数据结构中的重要组成部分。结构体能够将不同的类型变量固定到一起,形成一个整体,其中的变量分别占据了不同的内存空间。联合体则是拿出一块空间,这个空间可以让多种不同的类型数据共用,在使用的时候选择一种,这样能够节省空间。除此之外结构体中还包括位段的,位段的特殊性也会在本篇博客中提到。

2024-03-19 13:23:10 1606 3

原创 数据在内存中的存储

对于数据结构而言,数据的储存:浮点型整数型的存储只是占了一小部分,也就是本文介绍的。实际上还包括结构体。其中线性数据结构有:顺序表,链表,栈,队列。树形数据结构还包括二叉树。等等内容。这些内容将会在下一篇博客之中介绍,这里先预告一下。

2024-03-16 17:06:24 984 3

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除