![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 86
小小子xhh
这个作者很懒,什么都没留下…
展开
-
串的模式匹配(BF算法和KMP算法)
BF算法和KMP算法原创 2022-06-06 21:33:36 · 2394 阅读 · 1 评论 -
队列的链式存储结构
1、队列的链式存储结构 (1)链队列中结点结构和单链表一样,指针域指向队列中的下一个元素,定义如下// 定义队列结点typedef struct QNode{ ElemType data; struct QNode* next;}QNode, *QNodePrt;// 定义队首、队尾指针typedef struct{ QNodePrt front, rear;}LinkQueue; (2)链队列的初始化// 初始化队列Status InitQueue(原创 2020-09-20 20:13:25 · 1705 阅读 · 0 评论 -
C语言实现栈的链式存储结构
C语言实现栈的链式存储结构/* * @Author: xgh * @Date: 2020-06-23 22:25:32 * @LastEditTime: 2020-06-28 14:44:10 * @LastEditors: Please set LastEditors * @Description: 栈的链式存储结构 * @FilePath: \VS-CODE-C\.vscode\StackLinkedList\stackLinkedLists.c */#include <stdi原创 2020-06-28 15:04:01 · 265 阅读 · 0 评论 -
C语言实现栈的基本操作
C语言实现栈的基本操作(附二进制转十进制操作)/* * @Author: xgh * @Date: 2020-06-17 21:34:45 * @LastEditTime: 2020-06-20 10:17:52 * @LastEditors: Please set LastEditors * @Description: In User Settings Edit * @FilePath: \VS-CODE-C\.vscode\Stack\stack.c */ #include <s原创 2020-06-20 10:24:37 · 391 阅读 · 0 评论 -
C语言实现双向循环链表
C语言实现双向循环链表题目:要求实现根据要求的数字,使26个字母排序发生变化,例如数字为3,输出结果:DEFGHIJKLMNOPQRSTUVWXYZABC同时支持负数,如-3XYZABCDEFGHIJKLMNOPQRSTUVW代码/* * @Author: xgh * @Date: 2020-06-16 21:16:26 * @LastEditTime: 2020-06-17 10:09:12 * @LastEditors: Please set LastEditors * @Desc原创 2020-06-17 13:02:29 · 335 阅读 · 0 评论 -
C语言实现判断单链表中是否有环
C语言实现判断单链表中是否有环判断单链表中是否存在环的两种思路计算步数思路:定义两个指针p,q,都指向头结点,p一直后移,q每次后移到和p相同的结点,判断p是否等于q,不等于则p继续后移,q重新头结点开始计数,循环中,分别用两个变量记录循环的次数,当p==q,而两个步数变量却不相等时,说明p指针已经经过回环一次,说明链表中存在环。快慢指针确定环入口思路:第一步找出两个指针的相遇点,第二步让快指针从相遇点开始走,让慢指针从链表的最开始走,快慢指针每次各走一步,当两个指针相遇了,即是入口点原创 2020-06-14 22:45:03 · 2130 阅读 · 1 评论 -
C语言实现单向循环链表
C语言实现单向循环链表循环链表简介循环链表的结构和单链表结构一样,不过对于单链表,每个结点只存储了向后的指针,到了尾标志就停止了向后链的操作,这样知道某个结点却无法找到它的前驱结点。将单链表中的终端点的指针由空指针改为指向头结点,就使整个单链表形成一个环,这种头尾相接的单链表称为循环单链表,简称循环链表。代码实践data.h/* * @Author: xgh * @Date: 2020-06-08 22:52:43 * @LastEditTime: 2020-06-13 21:44:44原创 2020-06-14 08:14:48 · 1500 阅读 · 0 评论 -
C语言实现静态链表介绍
C语言实现静态链表介绍静态链表其实是为了给没有指针的编程语言设计的一种实现单链表功能的方法。3.1静态链表的优缺点优点:在插入和删除操作时,只需要修改游标,不需要移动元素,从而改进了在顺序储存结构中的插入和删除操作需要移动大量元素的缺点。缺点:没有解决连续存储分配(数组)带来的表长度难以确定的问题。失去了顺序储存结构随机存取的特性。3.2实现原理1、使用结构体数组,结构体有指针域 cur 和数据域 data2、一个数组分量表示一个节点,用cur代替指针指示节点在数组中的相对位置原创 2020-06-03 22:19:18 · 725 阅读 · 2 评论 -
C语言实现顺序线性表
C语言实现顺序线性表(附二分查找)具体代码如下:宏定义和表结构体头文件/* * @Author: xgh * @Date: 2020-05-29 17:11:55 * @LastEditTime: 2020-05-29 22:09:26 * @LastEditors: Please set LastEditors * @Description: 宏定义和线性表结构体定义头文件 * @FilePath: \VS-CODE-C\.vscode\linearLine\.h */#ifnd原创 2020-05-29 22:40:26 · 610 阅读 · 0 评论 -
C语言实现单链表(及部分概念解析)
C语言实现单链表线性表与单链表的区别存储类别顺序存储结构单链表存储分配方式用一段连续的存储单元依次存储线性表的数据元素采用链式存储结构,用一组任意的存储单元存放线性表的元素时间性能查找O(1)、插入和删除O(n)查找O(n)、插入和删除O(1)空间性能需要预分配存储空间,分大了浪费,小了容易发生上溢不需要分配存储空间,只要有就可以分配,元素个数不受限制通过上面的对比,可以得出一些经验性的结论:若线性表需要频繁查找,很少进行插入和删除操作时,宜采用顺序原创 2020-06-01 09:51:34 · 495 阅读 · 0 评论