数据结构
文章平均质量分 86
晚风相伴
这个作者很懒,什么都没留下…
展开
-
【C++版】排序算法详解
动图演示代码实现: 希尔排序代码实现: 选择排序动图演示代码实现: 代码上小优化,可以同时找最大和最小的数,使得排序更快 冒泡排序 动图演示代码实现: 堆排序 代码实现: 快速排序要实现快速排序可以有以下几种方法:代码实现: 挖坑法代码实现: 前后指针法代码实现: 非递归版本 递归的问题,在极端场景下如果深度太深,会出现栈溢出,所以我们要改成非递归版本我这里就用个栈来模拟递归过程,当然你用个队列来实现原创 2024-01-30 23:06:11 · 1282 阅读 · 3 评论 -
【C语言】队列的实现
队列的概念和结构 队列的模拟实现:用代码定义队列的结构队列基本功能的实现 初始化队列队尾入数据对头出数据获取对列对头元素获取队列对尾元素判空获取队列中有效元素的个数销毁队列完整代码头文件源文件队列的概念:队列只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列中的数据结构遵循先进先出FIFO(First In First Out)或后进后出的原则。入队列:进行插入操作的一端称为队尾出队列:进行删除操作的一端称为队头队列的结构:要实现队列无非也是现在我们学的两种结构:数组和链式结构。但是用原创 2022-06-28 15:41:42 · 2503 阅读 · 3 评论 -
【C语言】栈的实现
栈的概念:栈是一种特殊的线性表,其只允许在固定的一端进行插入和删除元素,进行数据的插入和删除的一端称为栈顶,另一端称为栈底,栈中的数据元素遵循后进先出(LIFO)或者先进后出的原则。压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。出栈:栈的删除操作叫做出栈,出数据也在栈顶。 栈的结构:要实现栈无非就两种结构:数组和链表。但是用数组来实现栈是更好的,因为栈是在栈顶进行插入删除的,而顺序表的尾插和尾删效率是非常高的,并且CPU高速缓存利用率也高。实现栈的基本功能 栈的初始化这原创 2022-06-24 22:03:43 · 1509 阅读 · 6 评论 -
双向带头循环链表之重拳出击
一、 链表的8种结构二、 双向带头循环链表的实现结构的创建和初始化 申请结点初始化尾插打印头插尾删 头删判空 链表长度 在pos位置之前插入结点删除pos位置的结点三、完整代码 总结 双向带头循环链表的结构是这样的:好让我们上手写一下。 首先我们写一下我们所需要的头文件其次我们在创建它的结构时要有一个前驱指针,还要有一个后继指针 结构创建好了,那就实现功能了。需要实现一下几个基本功能 申请结点初始化初始化的话有两种方法可以用方法一:二级指针 方法二:用结构体指针作为返原创 2022-06-23 17:21:56 · 391 阅读 · 12 评论 -
单链表的基本实现
前言上一篇文章中我们学习了顺序表【数据结构】——顺序表的基本实现_爱偷懒的猫(๑><๑)的博客-CSDN博客顺序表是用数组实现的,优势是:物理空间连续并且支持下标随机访问劣势是:1、空间不够,需要扩容。但是扩容有一定的性能消耗,其次一般扩容2倍,存在一些空间浪费。2、头部和中间位置插入删除效率低下链表正好可以解决这些劣势文章目录一、单链表的的概念和结构二、单链表的接口实现三、完整代码一、单链表的概念和结构概念:链表是一..原创 2022-05-20 22:37:36 · 378 阅读 · 22 评论 -
【数据结构】——顺序表的基本实现
这么清晰的顺序表,快来看看原创 2022-05-14 17:05:20 · 765 阅读 · 19 评论