![](https://img-blog.csdnimg.cn/1890023f166f458889eb04e33680be56.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
初阶数据结构
文章平均质量分 61
总结以及复习使用
_End丶断弦
长风破浪会有时,直挂云帆济沧海!
展开
-
C语言数据结构-队列
数据结构之队列队列的概念及结构队列的链式存储实现队列初始化重点:入队列重点:出队列获取队列头部元素获取队列队尾元素检测队列是否为空队列的销毁队列的概念及结构队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出FIFO(First In First Out) 入队列:进行插入操作的一端称为队尾 出队列:进行删除操作的一端称为队头队列的链式存储实现采用单链表来实现队列的链式结构,设置一个头指针和尾指针。通常将队头指针和队尾指针封装在一个结构体中,并将该结构体类型重原创 2021-09-29 20:34:58 · 233 阅读 · 4 评论 -
C语言数据结构-栈
栈栈的概念及结构栈的实现栈的初始化入栈出栈获取栈顶数据获取栈中有效元素个数判断栈是否为空栈销毁栈的概念及结构栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。出栈:栈的删除操作叫做出栈。出数据也在栈顶进栈和出栈的动态演示:栈的实现栈的实现一般可以使用数组或者链表实现,相对而言数组的结构实现原创 2021-09-28 17:12:26 · 249 阅读 · 2 评论 -
拿来吧!C语言数据结构-带头双向循环链表
带头双向循环链表链表初始化尾插尾删头插头删查找在pos之前插入结点删除pos位置的结点链表的销毁带头双向循环链表:结构最复杂,一般用在单独存储数据。实际中使用的链表数据结构,都是带头双向循环链表。另外这个结构虽然结构复杂,但是使用代码实现以后会发现结构会带来很多优势,实现反而简单了,后面我们代码实现了就知道了链表初始化首先创建一个结构体,给上前驱指针,后驱指针,还有数据域。typedef int LTDateType;//数据类型typedef struct ListNode{ LTDate原创 2021-09-25 16:26:38 · 237 阅读 · 0 评论 -
C语言数据结构-单链表
单链表链表的概念单链表的尾插单链表的头插链表的概念概念:链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的 。下面开始单链表单链表的尾插怎么尾插呢?尾插的思想:1.链表不为空,首先定义一个tail指针找到尾结点,让尾节点指向新结点2.链表为空,先指向新结点,在进行尾插因为插入都需新结点,可以直接封装成接口调用SListNode* BuySListNode(SLTDateType x){ //开新结点,假设叫node SL原创 2021-09-19 21:34:05 · 199 阅读 · 2 评论 -
2021-09-08
欢迎来到初阶数据结构,本篇文章带你理解堆和堆排序初阶数据结构-堆排序文章目录初阶数据结构-堆排序堆的概念及结构堆的向下调整算法堆排序的实现堆的概念及结构什么是堆?如果有一个关键码的集合K = {k0,k1, k2,…,kn-1},把它的所有元素按完全二叉树的顺序存储方式存储在一个一维数组中,并满足:Ki <= K2i+1 且 Ki<= K2i+2 (Ki >= K2i+1 且 Ki >= K2i+2) i = 0,1,2…,则称为小堆(或大堆)。将根节点最大的堆叫做最大原创 2021-09-08 12:30:25 · 152 阅读 · 0 评论 -
2021-09-06
初阶数据结构顺序表OJ题文章目录初阶数据结构顺序表OJ题移除数组删除有序数组中的重复项移除数组删除有序数组中的重复项题目的链接分析如下图:思路一和思路二都不符合题目的要求int removeElement(int* nums, int numsSize, int val){ int src = 0,dst=0; while(src<numsSize) { //找不是val的值 if(nums[src] == val)原创 2021-09-06 22:54:12 · 93 阅读 · 0 评论 -
数据结构-顺序表
2.静态顺序表只适用于确定知道需要存多少数据的场景。静态顺序表的定长数组导致N定大了,空间开多了浪费,开少了不够用。所以现实中基本都是使用动态顺序表,根据需要动态的分配空间大小,所以下面我们实现动态顺序表。所以我们尾插之前先判断需不需要增容,把增容封装成接口。下面的头插、在某个位置插入数据有需要判断要不要增容,直接调用,防止代码冗余。自己的建议顺序表这里就是要多画图,由于本人还是初阶有错的地方还请大佬指出。(后面的文章还会有关于顺序表的OJ题)动态顺序表:使用动态开辟的数组存储。...原创 2021-09-06 18:29:33 · 134 阅读 · 0 评论