自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 排序算法之希尔排序(2)--菜鸟先飞

end 从0开始 即是从(

2026-06-12 14:28:38 599 8

原创 数据结构之排序算法 (1)--插入排序

本文摘要:文章首先分析了完全二叉树的性质,包括节点度与数量的关系(N0=N2+1),并通过数学推导得出N0=N的结论。随后讨论了排序算法的分类与原理:基础比较排序(冒泡、选择、插入)适合小规模数据,高效比较排序(快速、归并、堆排序)适合大规模数据,非比较排序(计数、桶、基数排序)则适用于特定分布数据。重点解析了插入排序的工作原理,通过示例图解和代码分析展示了如何通过局部有序扩展实现整体排序,最终推导出总排序次数为n-1次。全文通过数学推导和算法图解,系统性地阐述了数据结构与排序算法的核心概念。

2026-06-09 23:42:20 725 18

原创 二叉树 2 堆

向 下调整算法进。

2026-06-05 08:22:43 733 24

原创 二叉树 1

共同最大数量最后一层不能中间空、右边有结点孩子像上图中 就必须将空出来的位置 保留下来使得能够 正常表示并计算父子关系 浪费空间。

2026-06-04 08:20:14 346 13

原创 树 的定义 与 性质

高度(Height):从当前节点到最远叶节点的路径长度。高度 == 深度 == 层数递归 简单理解是 拆解为 一件事 套娃但是 最终 不可继续 套 或者 结束条件绝对 不可以相交 子树 之间 不然就是 图 、左孩子 右边兄弟的表示 方式 (天才之作三块区 第一个数据 后两个就是两个指针空 NULL。

2026-06-02 10:53:34 381 4

原创 基于动态数组的栈(顺序栈)01

必须先free:因为必须用指针里存的地址去找到那块内存,把它还给系统。必须后NULL:因为还给系统后,那个地址就成了“毒药”,必须马上清空指针,防止以后误食。

2026-05-17 18:10:04 552 3

原创 队列 手把手教会你

本文介绍了队列(Queue)的数据结构实现。队列采用先进先出(FIFO)原则,类比排队打菜场景。使用单链表实现队列时,通过结构体同时记录队头和队尾指针,以支持快速入队和出队操作。文章详细讲解了队列的初始化、判空、销毁、入队、出队等核心操作,并提供了完整的C语言实现代码。其中重点说明了尾插入队和头删出队的实现细节,以及如何通过size变量高效统计队列元素数量。队列结构体封装了Head和Tail指针,避免了使用二级指针的复杂性。该实现充分利用了<stdlib.h>中的内存管理函数,确保了动态内存分配

2026-05-15 16:57:39 723 3

原创 Gitee 手把手

这篇文章主要介绍了如何在Gitee平台上注册账号、创建仓库以及使用Git工具的基本流程。主要内容包括: 注册Gitee账号并完成实名认证和邮箱绑定 安装Git和TortoiseGit(小乌龟Git)两个必备工具 在Gitee上创建远程仓库 将远程仓库克隆到本地并进行基本配置 使用Git三板斧(add、commit、push)提交代码 常见问题解决方法(如贡献度不显示、验证错误等) 重要补充说明(.git文件夹作用、.gitignore文件配置等) 删除仓库和注意事项提示 文章采用口语化风格,强调操作顺序和关

2026-04-25 23:29:17 994 25

原创 双链表 -- 带头 双向 循环 链表

本文介绍了双向链表的实现原理和关键操作。双向链表存在8种排列组合(2×2×2),但掌握单链表和双向链表即可触类旁通。重点讲解了双向链表的结构体定义(包含prev和next指针)、哨兵位(哑节点)的作用,以及循环双向链表的实现方式。详细展示了创建节点、初始化、插入(头插/尾插)、删除(头删/尾删)、查找、打印等核心操作的代码实现,特别强调了指针操作的顺序和注意事项。最后说明了链表销毁时需要手动置空指针。全文通过"两只手"的比喻形象地解释了双向链表的指针操作逻辑。

2026-04-22 15:14:54 911 22

原创 任意位置 单链表 回归

摘要:单链表操作的核心在于指针指向的修改,主要包括5种基本操作:1)指定位置前插入数据(需处理头指针和查找前驱节点);2)指定位置后插入数据(相对简单);3)删除指定位置数据(通过指针跳转实现);4)删除指定位置后数据;5)销毁整个链表(循环释放节点)。重点在于理解指针操作顺序(如插入时先连新节点再断旧链)、特殊情况处理(如单节点情况)以及内存管理(释放后置空)。所有操作都需注意边界条件和指针关系的维护。

2026-04-21 20:51:43 493 13

原创 【数据结构】链表 精华 含代码逐行解说

本文摘要:文章详细讲解了链表的基本操作实现。主要包括:1)创建节点时需分配内存并初始化指针域;2)遍历链表通过指针移动访问每个节点;3)插入操作分空/非空链表两种情况,重点注意指针修改顺序;4)删除操作需考虑节点数量,单节点需置空防野指针,多节点需定位前驱节点。所有操作都通过指针指向修改实现,核心在于正确处理指针域的链接关系。

2026-04-15 14:50:51 818 17

原创 链表 基础 2 插入 删除 传二级指针的原理 线性

本文介绍了链表数据结构及其优势。相比顺序表,链表在插入删除操作上效率更高(O(1)复杂度),内存利用率更灵活,且无需考虑扩容问题。重点讲解了链表的两种基本操作:尾插法(需处理空链表和非空链表情况)和头插法(直接修改头指针)。特别强调了二级指针的使用原因——要修改指针变量本身必须传递其地址。文中还指出尾删操作中单节点情况的特殊处理,提醒注意避免对空指针解引用的问题。通过食堂排队的类比,生动解释了链表的线性特性。

2026-04-13 23:36:18 701 20

原创 链表基础 1

若干个节点车厢而前面声明了struct CNode *这个所以能用S首先创建几个节点 来看看 吧第一集 结束 休息一下 马上更新。

2026-04-10 20:57:07 1027 20

原创 思路导图 通讯录的构建 精修前置声明

本文探讨了基于顺序表实现通讯录系统的开发方法。通过将联系人信息抽象为结构体类型并用typedef重命名,实现了顺序表函数的复用。重点阐述了模块化设计思路:将顺序表功能与通讯录业务逻辑分离,通过头文件组织代码结构,使用前置声明解决循环依赖问题。文章详细说明了初始化、增删查改等核心功能的实现方式,包括如何复用顺序表操作、处理结构体数组查询等关键技术点。最后提出了关于数据修改方式、删除与销毁区别等拓展思考,强调了顺序表底层特点对操作的影响。这种设计实现了代码复用、模块解耦和清晰维护等优势。

2026-04-08 12:00:42 1014 15

原创 基于顺序表的通讯录项目 (1)

摘要:本文介绍了如何用结构体存储联系人信息,解决内置数据类型的局限性。通过自定义结构体PersonInfo整合姓名、电话、地址等多种数据,将其作为顺序表的元素类型。相比普通变量,结构体可以同时存储多项信息,如同快递包裹能容纳多种物品。文中还讲解了电话号码采用char类型存储的原因,以及多文件处理和宏定义的使用技巧。通讯录底层基于顺序表实现,复用其操作方法,包括初始化、新增、删除、修改、展示和查找联系人等功能。关键点在于理解结构体类型与内置类型的区别,以及如何通过类型重命名实现代码复用。

2026-04-08 11:05:00 533 11

原创 从 零开始的C 语言,数据类型和变量

字符类型 char 字符在存储时 存的是ASCII码 值属于整型家族的一员,字符是一种特殊的整型类型。

2026-04-07 22:00:11 628 6

原创 从0开始 的C语言 1 续集

string.h>

2026-04-07 19:42:16 130 5

原创 从零 开始的 c语言 --梦开始的地方

printf。

2026-04-02 21:46:23 659 13

原创 完结喽 顺序表 通用的 增 和 删 来了!

在位置 Pos 处插入元素 x,相当于在第 pos+1 个数据之前(即第 pos 个数据之后)进行插入操作。通俗地说,就像是在 pos+1 这个位置插队,导致后面的元素都需要向后移动。想象现实生活中排队的情形:最后一个同学先退后腾出空间,接着倒数第二个同学后退,以此类推,直到为新插入的同学腾出位置。size总会+1无论你是++size 或者是 size ++ 或 size = size +1;在这里效果都哦一样空出了位置 就可以插入数据了i>=pos;

2026-04-02 10:45:18 531 13

原创 顺序表 2 续集 c 实现增删查改

这里整个数组的容量被指为0,需要后期去realloc增容个思考点1。循环移动后一位2。将首位赋值为插入值3. 最后size++ ,插入了一个呀。

2026-04-01 22:53:57 783 8

原创 Seqlist 顺序表 的实现c语言

本文摘要:本文系统讲解了C语言中顺序表的实现原理与操作方法。重点内容包括:1)逻辑结构与物理结构的区别,前者描述数据关系,后者决定存储方式;2)动态顺序表的结构体定义,包含数组指针、size和capacity三个成员;3)函数封装原则,强调参数传递时传地址的重要性;4)基本操作实现,包括初始化、增删查改等,特别说明size在插入删除时的变化规律。文章采用多文件管理方式,使用typedef和宏定义提高代码可维护性,并通过图解帮助理解数组操作原理。

2026-03-31 10:23:28 894 12

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除