
数据结构整理
文章平均质量分 66
Redamanc
眸子清亮,
脑子灵光。
展开
-
复习之数据结构_带头结点的双向链表
带头结点的双向链表简单理解增删图解头文件代码文件测试用例参考资料简单理解我们会发现,单链表由于只有next域,所以,如果想要访问某个元素的前驱结点,那么只能从头开始遍历到该元素的前一个元素。效率非常的低下。于是,为了方便的访问前驱、后继,双向链表应运而生。如上图所示,就是一个简单的双向链表示意图。双向链表共含有三个元素:1、存放数据;2、后继指针域;3、前驱指针域。增删图解双向链表的插入和删除操作需要特别注意边界问题。正常的插入如下图:插入情景:将新结点 p 插入到指定结点 q 的原创 2021-02-26 20:18:17 · 303 阅读 · 0 评论 -
复习之数据结构_带头结点的循环单链表
带头结点的循环单链表循环单链表简单理解头文件(.h)代码文件(.cpp)代码测试参考资料循环单链表简单理解前面复习了单链表,单链表的尾结点的特点是next域为NULL(空);而我们今天要复习的循环单链表,和单链表基本类似。区别就在于:循环单链表的尾结点的next域为头结点。头文件(.h)老规矩,先上头文件:笔者这里的命名为:clist.h#pragma once// 带头结点的循环单链表// 尾结点的next指向头结点typedef struct CNode{ int data;原创 2021-02-26 12:28:05 · 1246 阅读 · 0 评论 -
复习之数据结构_带头结点的单链表
带头结点的单链表带头结点的单链表插入图解头文件(.h)代码文件(.cpp)简单测试参考资料带头结点的单链表如果说,顺序表是逻辑相邻,物理也相邻的话,那么链表就是逻辑相邻,物理不一定相邻了。对应在计算机中,顺序表,是开创了一块连续的内存空间,用于存放一定的数据。那么链表开辟的内存空间就不一定是连续的、同一块空间了。顺序表(不定长)示意图:单链表(带头结点)示意图:插入图解对于插入来说,假定:要插入位置的结点为p;插入新的结点为n。那么到底是先p->next = n->next呢原创 2021-02-03 13:15:02 · 678 阅读 · 0 评论 -
复习之数据结构_不定长顺序表
不定长顺序表不定长顺序表头文件(.h)代码文件(.cpp)简单测试参考资料不定长顺序表顺着我们上次的继续总结,不定长顺序表,顾名思义,就是长度不固定的顺序表,这个不固定意味着动态扩容,每当目前已有的容量耗尽用完时,便自动扩容,使得长度一直发生变化。废话不多说,我们直接上代码。头文件(.h)首先是头文件,需要注意的是,与定长顺序表不一样的地方,不定长的顺序表的结构体成员有三个,比定长的多了一个总容量大小,这个总容量大小也就控制着动态扩容的进行。当数据不断插入,当前有效数据的个数等于总容量的时候,意原创 2021-02-02 20:47:30 · 156 阅读 · 0 评论 -
复习之数据结构_定长顺序表
定长顺序表关于数据结构定长顺序表头文件(.h)实现文件(.cpp)简单测试关于数据结构前言:数据结构一直是大多数人比较头疼的课程,里面弯弯绕很多,但是不可否认的是,他真的很重要。无论你选择考研还是找工作,数据结构一定是考试、面试、笔试的一个重点。博主就是之前学习了数据结构,但是前学后忘,最近刷一些算法题的时候,发现真的,忘得一干二净了。于是痛下决心,好好复习,整理成博客。故,废话不多说,我们开始总结吧。关于数据结构:数据结构:线性表(链表、顺序表)(栈、队列、串);树形结构(二叉树);原创 2021-02-01 18:03:45 · 124 阅读 · 0 评论