摘要: ##顺序栈 顺序栈是一种受到限制的顺序表,数据只能从栈顶压入,先进后出原则,遵从栈的逻辑。 ##构造顺序栈 使用结构体来构造顺序栈,其中stack是用来存储数据的,size是用来指明数据的个数,top是用来指明栈顶的位置。 typedef struct seqlist_stack{ int *sta 阅读全文
posted @ 2020-12-10 20:59 ding-ding-light 阅读(203) 评论(0) 推荐(0) 编辑
摘要: ##双向循环链表 双向循环链表和单向循环链表一样都是线性链式存储结构,顾名思义双向循环链表就是在两个方向都可以访问任一数据。 ##头节点设计 调用下面代码创建一个结点作为头结点,让它的头指针prev和尾指针next都指向自己,最后返回这个头结点的堆地址。 p_douoble_crclist new_ 阅读全文
posted @ 2020-12-09 20:45 ding-ding-light 阅读(398) 评论(0) 推荐(0) 编辑
摘要: ##单向循环链表 单向链表是最简单的线性链式存储结构。可以通过头结点遍历整个链表。 如上图所示,单向循环链表就是申请的一块块堆空间,通过指针将其串联起来,其中head指针存在栈空间,其内容存的是堆空间头结点的地址,所有操作都需要通过head指针来实现。 使用结构体来实现单向循环链表,结构体中有数据域 阅读全文
posted @ 2020-12-08 22:21 ding-ding-light 阅读(1176) 评论(0) 推荐(0) 编辑
摘要: ##顺序表 顺序表属于顺序存储结构,是最简单的顺序表,基本思想是用一段连续的储存单元依次存储线性表的数据元素,一般使用数组来定义,就能实现增,删,改,差等基本操作。 使用结构体来实现顺序表,结构体中有一个data数组,用来连续存储数据。变量last用来指明当前顺序表中有几个数据,方便访问顺序表。 t 阅读全文
posted @ 2020-12-07 23:28 ding-ding-light 阅读(320) 评论(0) 推荐(0) 编辑
摘要: ##数据结构的基本概念 数据结构是一门研究如何有效组织数据,并提供高效的处理数据的学科。我们主要研究如何有效的处理数据间的逻辑关系,使得数据在存储于操作是更加高效。 ##逻辑结构和物理结构 逻辑结构:数据对象中数据元素之间的相互关系;物理结构:是指数据的逻辑结构在计算机中的存储形式。 ###逻辑结构 阅读全文
posted @ 2020-12-07 21:01 ding-ding-light 阅读(183) 评论(0) 推荐(0) 编辑
摘要: ##头文件的作用 一个C语言的程序一般都会包含多个.C文件以及多个.h头文件,假设我们的项目中有一个代码需要被多次使用,为了避免多次编写同一份代码,可以把一些公共的资源写在头文件中,然后在其他的.C文件中如果想要使用则只需要包含该头文件即可。 ##头文件的内容 头文件用来存放一些公共资源,各个.C文 阅读全文
posted @ 2020-12-06 22:14 ding-ding-light 阅读(293) 评论(0) 推荐(0) 编辑
摘要: ##无值宏定义 定义宏的时候不指定一个值得时候就被称为无值宏定义,一般无值宏会使用在条件编译当中: #define __MAIN_H__ #define __TYPE_H__ 注意 对于无值宏来说我们只能判断它是否被定义,而无法判断他的值 ##保护宏 在一个工程中,为了防止某个头文件被多次包含,就会 阅读全文
posted @ 2020-12-06 22:02 ding-ding-light 阅读(133) 评论(0) 推荐(0) 编辑
摘要: ##预处理 预处理是程序编译前的一个预先处理的动作,编译一共有4个步骤:C原文件 --> 预处理 --> 编译 --> 汇编 → 链接 --> 可执行文件。 预处理的工作主要是展开我们C源码中的#开头的语句,去掉了所有的注释,在严格的意义来说,这些语句它并不属于C语言的语法范畴。 以下是预处理的一些 阅读全文
posted @ 2020-12-06 21:36 ding-ding-light 阅读(383) 评论(0) 推荐(0) 编辑
摘要: ##联合体基本概念 联合体也叫共同体,共用体,从外表看联合体与结构体长得很类似,结构体每一个成员都有自己独立的内存空间,但是联合体则共用同一片内存空间,也就是联合体同时只能允许一个变量存在。 特点: 1.联合体的内部是以堆叠的形式存在的; 2.整个联合体的尺寸取决于,成员中尺寸最大的那个成员; 3. 阅读全文
posted @ 2020-12-06 20:53 ding-ding-light 阅读(445) 评论(0) 推荐(0) 编辑
摘要: ##结构体的概念 C语言中有很多的基础数据类型,除了这些我们可以通过一个结构体来把一部分基础数据类型整合为一个新的自定义类型。 struct 结构体的标签 { 成员1 ; 成员2 ; ..... }; // 最后用一个分号来表示结束 结构体的标签 : 用来区分各个不同类型的结构体 (也可以省略)。 阅读全文
posted @ 2020-12-05 20:04 ding-ding-light 阅读(645) 评论(0) 推荐(0) 编辑