![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
北徯
QQ:981715157
展开
-
C语言实现链式队列
链式队列,简称"链队列",即使用链表实现的队列存储结构。链式队列的实现思想同顺序队列类似,只需创建两个指针(命名为 top 和 rear)分别指向链表中队列的队头元素和队尾元素,如下图所示: 所示为链式队列的初始状态,此时队列中没有存储任何数据元素,因此 top 和 rear 指针都同时指向头节点。 在创建链式队列时,强烈建议初学者创建一个带有头节点的链表,这样实现链式队列会更...原创 2020-03-01 19:21:12 · 906 阅读 · 0 评论 -
C++语言实现链式栈
在之前写的C语言实现链式栈篇博文中,我已经给大家大概介绍了关于链式栈的意义以及相关操作,我会在下面给大家分享百度百科对链式栈的定义,以及给大家介绍利用C++实现链式栈的基本操作。百度百科链式栈链式栈是一种数据存储结构,可以通过单链表的方式来实现,使用链式栈的优点在于它能够克服用数组实现的顺序栈空间利用率不高的特点,但是需要为每个栈元素分配额外的指针空间用来存放指针域。栈是只能在某一端插入...原创 2020-02-12 13:34:06 · 431 阅读 · 0 评论 -
C++实现双向循环链表
本次博文是关于利用C++模板的方式实现的双向循环链表以及双向循环链表的基本操作,在之前的博文C++语言实现双向链表中,已经给大家分析了双向循环链表的结构,并以图示的方式给大家解释了双向循环链表的基本操作。本篇文章利用C++实现了双向循环链表的基本操作,其中包括:双向循环链表实现的功能头部插入结点建立链表尾部插入结点建立链表实现指定位置插入结点查找给定数值是否存在...原创 2020-02-07 20:50:49 · 1561 阅读 · 0 评论 -
C语言实现链栈以及基本操作
链栈,即用链表实现栈存储结构。链栈的实现思路同顺序栈类似,顺序栈是将数顺序表(数组)的一端作为栈底,另一端为栈顶;链栈也如此,通常我们将链表的头部作为栈顶,尾部作为栈底,如下下图所示:将链表头部作为栈顶的一端,可以避免在实现数据 “入栈” 和 “出栈” 操作时做大量遍历链表的耗时操作。链表的头部作为栈顶,意味着:在实现数据"入栈"操作时,需要将数据从链表的头部插入;在实现数据"出栈...原创 2020-02-01 19:54:12 · 1973 阅读 · 0 评论 -
C语言实现双向循环链表
在之前的文章中,我写过一篇关于C语言实现双向链表博文,介绍了双向链表的实现过程以及双向链表的优势,接下来我首先给大家介绍一下循环链表和双向链表的区别,之后再给大家介绍双向循环链表的具体实现。循环链表和双向链表的区别1、最后一个结点指针指向不同在建立一个循环链表时,必须使其最后一个结点的指针指向表头结点,而不是像双向链表那样置为NULL。此种情况还用于在最后一个结点后插入一个新的结点。2、判...原创 2020-01-31 13:53:55 · 2387 阅读 · 0 评论 -
C语言实现顺序栈以及栈的特点
同顺序表和链表一样,栈也是用来存储逻辑关系为 “一对一” 数据的线性存储结构,如下图所示。原创 2020-01-29 13:21:37 · 1338 阅读 · 0 评论 -
C语言实现双向链表
目前我们所学到的链表,无论是动态链表还是静态链表,表中各节点中都只包含一个指针(游标),且都统一指向直接后继节点,通常称这类链表为单向链表(或单链表)。虽然使用单链表能 100% 解决逻辑关系为 “一对一” 数据的存储问题,但在解决某些特殊问题时,单链表并不是效率最优的存储结构。比如说,如果算法中需要大量地找某指定结点的前趋结点,使用单链表无疑是灾难性的,因为单链表更适合 “从前往后” 找,而 ...原创 2020-01-16 22:04:34 · 758 阅读 · 0 评论 -
C++线性表的链式存储结构
实现链表template<class T>void LinkList<T>::Print(){ LinkNode<T> *tmp = _head; while (tmp != NULL) { cout << tmp->_data << "-->"; tmp = tmp->_next; } cou...原创 2019-09-20 13:13:23 · 1652 阅读 · 1 评论 -
C语言实现链表(链式存储结构)
链表(链式存储结构)及创建链表,别名链式存储结构或单链表,用于存储逻辑关系为 “一对一” 的数据。与顺序表不同,链表不限制数据的物理存储状态,换句话说,使用链表存储的数据元素,其物理存储位置是随机的。例如,使用链表存储 {1,2,3},数据的物理存储状态如下图所示:我们看到,上图 根本无法体现出各数据之间的逻辑关系。对此,链表的解决方案是,每个数据元素在存储时都配备一个指针,用于指向自己的...原创 2020-01-14 21:26:57 · 4014 阅读 · 5 评论 -
C++语言实现顺序表
C++语言实现顺序表顺序表的定义及其特点顺序表的定义是:把线性表中的所有表项按照其逻辑顺序依次存储到从计算机存储中指定存储位置开始的一块连续的存储空间中。 这样,线性表中第一个表项的存储位置就是被指定的存储位置,第i个表项(2≤\leq≤ i ≤\leq≤n)的存储位置紧接在第i一1个表项的存储位置的后面。假设顺序表中每个表项的数据类型为T,则每个表项所占用存储空间的大小(即字节数)大小相同,...原创 2020-01-14 19:37:49 · 920 阅读 · 0 评论 -
C语言实现顺序表(顺序存储结构)
顺序表(顺序存储结构)及初始化过程详解顺序表,全名顺序存储结构,是线性表的一种。通过《线性表》一节的学习我们知道,线性表用于存储逻辑关系为“一对一”的数据,顺序表自然也不例外。不仅如此,顺序表对数据的物理存储结构也有要求。 顺序表存储数据时,会提前申请一整块足够大小的物理空间,然后将数据依次存储起来,存储时做到数据元素之间不留一丝缝隙。例如,使用顺序表存储集合{1,2,3,4,5}数据最终的...原创 2020-01-13 16:48:04 · 4943 阅读 · 8 评论