![](https://img-blog.csdnimg.cn/20190927151124774.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构
文章平均质量分 57
数据结构的顺序表、链表、栈、队列、二叉树、排序算法
我不要麦克风
这个作者很懒,什么都没留下…
展开
-
栈(笔记)
①有效的括号(定义一个栈,先初始化再销毁) 1.左括号,入栈 2.右括号,出栈匹配跟右括号匹配。原创 2023-03-26 21:07:10 · 76 阅读 · 0 评论 -
数据结构之顺序表
5.找到数据为x的位置下标,没有找到返回-1。6.指定pos下标位置插入。7. 删除pos位置的数据。原创 2023-03-14 19:09:12 · 63 阅读 · 0 评论 -
循环链表(笔记)
假设slow进环的时候,slow跟fast的距离是N,fast开始追slow,slow每往前走一步,fast往前走两步,每追一次,判断一下相遇,每追一次,fast和slow的距离变化:N,N-1,N-2,...0。用快慢指针slow和fast,slow和fast指向链表的开始,slow一次走一步,fast一次走两步。slow走一步,fast走两步,一定会相遇。假设:slow一次走一步,fast一次走三步,slow进环后,fast跟slow之间的距离为N,fast开始追slow,他们之间的距离变化如下。原创 2023-03-21 20:01:44 · 65 阅读 · 0 评论 -
数据结构之单链表(笔记)
单链表尾插法//单链表尾插法//找到尾结点//从第一个结点开始=NULL)//找到最后一个结点//开辟一个新结点存放x的值//newnode存放完x的值后,作为最后一个结点,指向NULL//与链表连接//SList.h文件}SListNode;//SLDataType的作用等同于int,当数据的类型要变成char或者double时,只用把int换成char或者double}SLTNode;//输出链表中的数据//从第一个结点开始while(cur。原创 2023-03-22 15:38:50 · 286 阅读 · 0 评论 -
双向链表(笔记)
带头双向循环链表:结构最复杂,一般用在单独存储数据。实际中使用的链表数据结构,都是带头双向循环链表。另外这个结构虽然结构复杂,但是使用代码实现以后会发现结构会带来很多优势,实现反而简单了,后面我们代码实现了就知道了。1.支持随机访问,需要随机访问结构支持算法可以很好的适用。2.链表存储一个值,同时要存储链接指针,也有一定的消耗。无头单向非循环链表:结构简单,一般不会单独用来存数据。实际中更多是作为其他数据结构的子结构,如哈希桶、图的邻接表等等,另外这种结构在笔试面试中出现很多。(双向带头循环链表)原创 2023-03-24 20:19:49 · 203 阅读 · 0 评论 -
队列(笔记)
重点:循环队列无论使用数组实现还是链表实现,都要多开一个空间,也就意味着要是一个存k个数据的循环队列,要开k+ 1个空间,否则无法实现判空和判满。①入数据,往不为空的队列入,保持另一个队列为空;②出数据的时候,依次出队头的数据,转移另一个队列保存。pop栈里没有数据,要从push栈里导过来,popST中的数据就符合先进先出了。队列:只允许在一端进行插入数据操作, 在另一端进行删除 数据操作的特殊线性表,队列具有先进先出FIFO(First In First Out)出队列:进行删除操作的一端称为队头。原创 2023-03-29 20:42:39 · 82 阅读 · 0 评论