- 博客(15)
- 收藏
- 关注
原创 数据结构——树
一个结点K的后继结点,被称为K的孩子;一个结点W的前驱结点被称为W的双亲。定义:树是由n(n>0)个结点组成的有限集合(对于树形结构来说,它的定义是一个递归而成的定义)叶子结点:一个非空树中没有后继结点的一个结点(终端结点)树形结构概念:具备有层次关系,并且结点之间有分支的结构。1)有且仅有一个特定的被称为根(root)的结点。根节点:一个非空的树中没有任何前驱结点的一个节点。有序树:树中的结点的各个子树按照从左向右的顺序。结点的度:该结点拥有的子树的数目。树的深度:树中结点层次的最大值。
2025-04-07 22:43:16
367
原创 Linux——进程和线程
概念:是程序的一次执行过程,是处理机资源分配的基本单位。组成: 数据段+代码段+PCB = 进程一个CPU同一时刻只能运行一个进程。一个进程需要内存空间来存储程序,也需要时间片来让CPU运行该进程。
2025-04-06 21:54:56
345
原创 数据结构——哈希表
对于线性存储结构来说,大量的数据存储需求会导致线性表变得很长,会造成数据查询的不方便(效率变低)。我们采用一种全新的存储结构将数据的关键字Key和其存储位置实现一个对应关系F,这样就能够利用数据的关键字找到该数据的存储位置,通过设计一个存储位置和关键字对应的函数F(Key)“hash函数”来进行数据的存储。这种存储的形式被称为散列存储。例:存储学生的基本信息学号……将学号的最后两位作为关键字,确定存储单元将学号是202200210015 学生存储在[15]单元。
2025-04-05 22:59:14
892
原创 Linux——IO文件
也就是说如果当前程序中再次打开新的文件,无论该文件是哪个文件,这个文件的描述符就是刚刚被关闭的那个文件描述符。文件描述符的分配原则:每个进程中,文件描述符按照最小未被使用原则进行分配。特殊的文件描述符0,1,2。是指利用Linux内核API完成对于文件的操作(打开,关闭,读写,等)mode 不同角色对于该文件的访问权限。返回值:实际读取的字节数,0表示文件末尾。返回值:文件描述符 int。
2025-04-04 23:10:16
410
原创 Linux——文件的读写操作
需要设计一个软件,输入文件名,执行这个软件,就能在指定的文件夹下创建出这个文件。其次我们可以是使用这个软件向指定的文件中写入内容或从文件中读取内容。由C语言提供的标准库,实现对于文件的种种操作。1.1 目的是实现程序自动地对于文件的一些基本操作的。(打开,读取,写入,其他操作,关闭文件)一次从stream读取最少是size个字节的内容然后保存到s的缓冲区中。参数:ptr 缓冲区,要被写入的文件内容。返回值:文件流指针,用于操作文件内容。参数:ptr 缓冲区,保存读取的内容。参数: path 文件的路径。
2025-04-02 22:27:59
317
原创 数据结构——单链表(循环链表,双向链表…)
算法原理:将链表从第二个元素开始,逐个头插进第一个元素之前实现步骤:代码实现//创建临时指针,指向第二个元素//第一个元素的指针域为空//指向当前操作元素的下一个元素的位置while(tmp!//tmp向后移动。
2025-04-01 22:07:43
1814
原创 Linux——C语言开发工具链
vim的模式① 普通模式:查看内容② 插入模式:文本内容编辑③ 命令模式:对于编辑器进行控制操作④ 替换模式:替换选中的字符⑤ 视图模式:用于复制 剪切等操作。
2025-03-31 21:44:34
474
原创 数据结构——单链表的简单使用
构建单链表一个单链表的基本元素由两部分组成|数据域|指针域|存储结构定义链表:struct Node* L;//头指针构建一个带有头结点的单链表定义头结点构建一个不带有头结点的单链表L=NULL;
2025-03-30 23:06:59
975
原创 LINUX用户管理
Linux中有三种角色对于文件进行访问:拥有者U所属组的组员G以及其他人0,因此一个文件的Access访问属性就被分成了三组。并且每组的访问方式有三种rwx,那么我们为了更好的描述该文件的访问权限,就可以用三个8进制数进行描述。Linux操作系统允许多个用户同时登录,这就意味着需要有一个极其复杂并且逻辑清晰的用户权限管理,涉及到文件的访问,目录的分配,权限的修改等等。对于目录来说rwx代表不同角色对于该目录有可以列出该目录下的内容(r),可以修改目录里的东西,以及目录名字等(w),可以进入该目录(x)
2025-03-29 22:01:58
392
原创 数据结构——线性表
每一个元素都需要额外的添加一个指针变量,用于保存当前元素逻辑上相邻的下一个元素的位置(地址)。逻辑结构:线性表中的每个元素的具体数据类型是根据不同的程序和应用不同而不同的。1)便于首元结点的处理,首元结点的地址保留在了头结点的指针域中,所以对于链表的第 一个位置的操作和对于链表的其他位置操作都一致。2)便于对空表和非空表的统一处理,无论链表是否为空,头指针始终是指向头结点的,方便空表和非空表的统一处理。②双向链表:结点拥有两个指针域,分别指向该结点的前一个元素和该结点的后一个元素。//存储空间的首地址。
2025-03-28 18:00:13
1809
原创 LINUX文件管理
当前目录 . . 上一级目录 - 上一次访问的目录。pwd :查看用户所在的目录的绝对路径。touch 本意是修改一个文件的时间戳。gedit 使用gedit工具进行操作。mv 源文件 目标文件 (重命名)空格:向下一页 回车:向下一行。上键:向上一行 下键:向下一行。more 文件名 分页查看。less 文件名 分页查看。cp 源文件 目标目录。cp 源文件 目标文件。mv 源文件 目标目录。
2025-03-27 22:22:31
381
原创 Linux的简单认识
Linux的目录结构是一棵树,任何一个目录的位置都可以从根目录开始遍历起,所以对于 目录的访问,有两种方法。2.可以自行的进行优化和裁剪适用于各种不同的硬件设备。1)从根目录开始算起,写出完整的目录路径——绝对路径。1.免费且开源,实现自由的修改,优化,发布……2)从当前用户所在路径开始算起——相对路径。格式:cd 指定的目录名称。:列出指定目录中的内容。格式:ls指定的路径名称。
2025-03-25 22:32:07
448
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅