数据结构
会飞的猪宝宝啊
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
定长顺序表
一个线性表是n个数据元素的有限序列,分为顺序表和链表。顺序表指用一组地址连续的存储单元依次存储线性表的数据元素,即逻辑相邻,物理也相邻;链表指用一组任意的存储单元存储线性表的数据元素,即逻辑相邻物理不相邻。(1)存在唯一的一个被称作“第一个”的数据元素(2)存在唯一的一个被称作“最后一个”的数据元素(3)除第一个外,集合中的每一个数据元素只有一个前驱(4)除最后一个外,集合中的每一原创 2018-02-01 20:35:45 · 164 阅读 · 0 评论 -
不定长顺序表
不定长顺序表和定长顺序表在很多地方都是一样的,只不过采用了动态分配的方式处理数据。具体代码如下:头文件 desqlist.h#pragma once//不定长顺序表#define INIT_SIZE 10 //初始化单元数量typedef struct DSeqList{ int *elem;//指向存储数据的内存 int length;//有效数据个数 int list原创 2018-02-02 17:53:32 · 272 阅读 · 0 评论 -
单链表
单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据。链表中的数据是以结点来表示的,每个结点的构成:数据域+ 指针(指示后继元素存储位置),数据域就是存储数据的存储单元,指针就是连接每个结点的地址数据。结构图如下:头文件list.h#pragma once//带头节点的单链表typedef struct Node{ int data; struct原创 2018-02-02 18:07:57 · 292 阅读 · 0 评论 -
带头节点的循环链表
带头节点的循环链表,循环链表的尾节点指向头节点头文件clist.h#pragma once//带头节点的循环链表//循环链表的尾节点指向头节点typedef struct CNode{ int data;//数据域 struct CNode *next;//指向下一个节点的地址}CNode,*CList;void InitList(CList plist);/原创 2018-02-02 20:49:50 · 5168 阅读 · 0 评论 -
双向链表
双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。它其实就是单链表的基础上加入了前驱指针,能够很方便的访问它的前一个数据节点。和单向链表相比有以下优势: 插入删除不需要移动元素外,可以原地插入删除可以双向遍历头文件dlist.h#pra原创 2018-02-03 12:47:10 · 271 阅读 · 0 评论 -
树
BST树即二叉搜索树: 1.所有非叶子结点至多拥有两个儿子(Left和Right); 2.所有结点存储一个关键字; 3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树;如:BST树的搜索,从根结点开始,如果查询的关键字与结点的关键字相等,那么就命中;...转载 2019-09-20 11:12:43 · 141 阅读 · 0 评论
分享