![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 62
c/c++
xiaoming1999
这个作者很懒,什么都没留下…
展开
-
栈和队列的模拟实现
目录1、栈1.1栈的概念以及结构1.2栈的实现2、队列2.1队列的概念及结构2.2队列的实现1、栈1.1栈的概念以及结构栈:是一种特殊的线性表,它只允许在固定的一端进行插入和删除操作。数据插入和删除操作的一端为栈顶,另一端为栈底。栈中的数据遵循先进先出(LIFO)原则。说明:这里提到的栈,是我们自己建立的一种数据结构,并不是内存区域中的栈区,虽然名字都叫做栈,但是两者是不一样的。进栈出栈的过程如下图:1.2栈的实现栈的实现一般可以使用数组..原创 2022-04-15 09:26:24 · 986 阅读 · 0 评论 -
带头双向循环链表(C语言实现)
带头双向循环链表概念及结构概念:带头双向循环链表结构最复杂,一般用在单独存储数据。实际中使用的链表数据结构,都是带头双向循环链表。另外这个结构虽然结构复杂,但是使用代码实现以后会发现结构会带来很多优势,实现反而简单了。带头双向循环链表的实现List.h代码实现#pragma once#include <stdio.h>#include <stdlib.h>#include <assert.h>typedef int LTDataTyp原创 2022-03-26 10:31:07 · 1492 阅读 · 0 评论 -
单链表(C语言实现)
链表的概念及结构概念:链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。如图:注意:从上图可以看出,链式结构在逻辑上是连续的,但在物理上不一定连续。 现实中的节点一般都是从堆上申请出来的 从堆上申请的空间,是按照一定的策略来分配的,两次申请的空间可能连续也可能不连续。链表的实现无头单向非循环链表:结构简单,一般不会单独用来存数据。实际中更多是作为其他数据结构的子结构,如哈希桶、图的邻接表等。SList.h代码实现#pra原创 2022-03-16 16:13:32 · 1273 阅读 · 0 评论 -
顺序表(C语言实现)
目录概念及结构顺序表分类接口实现概念及结构顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。在数组上完成数据的增删改查。顺序表分类静态顺序表:使用定长数组存储 动态顺序表:使用动态开辟的数组存储接口实现静态顺序表只适应于确定知道需要存多少数据的场景。静态顺序表的定长数组导致N定大了,空间开多了浪费,开少了不够用。所以现实中基本都是使用动态顺序表,根据需要动态分配空间大小,所以下面我们实现动态顺序表。SeqList.h代原创 2022-03-14 17:43:39 · 1072 阅读 · 0 评论