![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 75
wooovi
软件工程本科在读大四,第五届蓝桥杯B组Java++省一,鲲鹏开发者大赛2022重庆赛区二等奖,鲲鹏应用创新大赛2022重庆赛区一等奖
展开
-
数据结构-线性表及顺序结构
线性表的定义由n(n⩾\geqslant⩾ 0)个数据元素(结点)a1,a2,…an,组成的有限序列其中数据元素的个数n定义为表的长度当n=0时称为空表将非空的线性表记作:(a1,a2,...an)这里的数据元素ai(1⩽i⩽n )只是一个抽象的符号,其具体含义在不同的情况下可以不同线性表的逻辑特征在非空的线性表,有且仅有一个开始的节点a1,它没有直接前趋,而仅有一个直接后继a2;有且仅有一个终端节点an,它没有直接后继,而仅有一个直接前趋an-1;其余内部节点ai(2⩽\leqsla原创 2022-01-15 21:08:20 · 305 阅读 · 0 评论 -
数据结构-链式结构
数据结构-链式结构线性表的链式表示及实现链式存储结构与链式存储有关的术语链表(链式存储结构)的特点单链表的定义与表示单链表基本操作的实现单链表的初始化(带头结点的单链表),即构造一个空的单链表(补充)判断链表是否为空(补充)单链表的销毁:销毁链表后不存在(补充)清空链表(补充)求单链表长单链表取值-取第i个元素单链表查值单链表插入单链表中删除元素--删除第i个结点单链表的建立-头插法单链表的建立-尾插法线性表的链式表示及实现链式存储结构节点在存储器中的位置是任意的,即逻辑上相邻的数据元素在物理上不一定原创 2022-02-05 16:53:52 · 2699 阅读 · 1 评论 -
数据结构-循环链表
循环链表循环链表:是一种头尾相接的链表(即:表中最后一个结点的指针域指向头结点,整个链表形成一个环)。优点:从表中任一结点出发均可找到表中其他结点。注意:由于循环链表中没有NULL指针,故涉及遍历操作时,其终止条件就不再像非循环链表那样判断p或p->next是否为空,而是判断它们是否等于头指针。合并带尾指针的循环链表【操作步骤】p存表头结点p=Ta->next;Tb表头连接到Ta表尾Ta->next=Tb->next->next ;释放Tb表头结点原创 2022-02-07 10:52:27 · 989 阅读 · 0 评论 -
数据结构-双向链表
双向链表双向链表:在单链表的每个结点里再增加一个指向其直接前驱的指针域prior,这样链表中就形成了有两个方向不同的链,故称为双向链表。双向链表的结构可定义如下:typedef struct DuLNode{ Elemtype data; struct DuLNode *prior, *next;}DuLNode, *DuLinkList;双向循环链表和单链的循环表类似,双向链表也可以有循环表让头结点的前驱指针指向链表的最后一个结点让最后一个结点的后继指针指向头结点。双向链原创 2022-02-07 12:27:35 · 1067 阅读 · 0 评论 -
数据结构-栈和队列
栈和队列栈和队列的定义和特点栈——后进先出栈的相关概念栈与一般线性表的区别栈的表示与实现栈的抽象数据类型的类型定义队列 ——先进先出相关案例进制转换括号匹配的检验表达式求值栈和队列的定义和特点栈和队列是限定插入和删除只能在表的“端点”进行的线性表栈——后进先出定义:栈(stack)是一个特殊的线性表,是限定仅在一端(通常是表尾)进行插入和删除操作的线性表。又称为后进先出(Last In First Out)的线性表,简称LIFO结构。栈的相关概念栈是仅在表尾进行插入、删除操作的线性原创 2022-03-03 15:26:33 · 113 阅读 · 0 评论