自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【C语言】排序算法——希尔排序以及插入排序 ——详解!!!

本文详细介绍了C语言中的两种排序算法:插入排序和希尔排序。插入排序通过逐个比较和插入元素实现排序,类似于打扑克牌的排序方式。希尔排序则是插入排序的优化版本,通过分组预排序使数组接近有序,最后进行一次插入排序完成排序。文章通过视频演示、算法思想、实现思路和代码示例,清晰展示了两种排序的工作原理和实现方法,特别强调了希尔排序中gap值的动态调整策略。这两种排序算法在数据接近有序时效率较高,适合不同规模的数据排序需求。

2025-12-27 11:13:47 3460 48

原创 【C语言】排序算法——快速排序详解(含多种变式)!!!

本文详细介绍了快速排序算法的实现与优化。快速排序通过选取基准值(key)将数组分为左右两部分,递归处理实现排序。初阶版本直接取首元素为key,中阶引入"三数取中"优化key的选取,避免极值情况;高阶版本结合小区间优化,当区间较小时改用其他排序算法提高效率。文章包含视频演示、算法思想、实现步骤和完整代码(含三数取中函数和堆排优化),系统地讲解了快速排序从基础到进阶的实现过程。

2025-12-26 10:00:00 2252 55

原创 【C语言】大一期末课程设计——商品信息系统!!!(包含文件、汉化、颜色等等)

本文介绍了一个基于C语言的商品信息管理系统,适用于大一期末课程设计。系统实现了商品信息的增删改查、统计和保存功能,包含文件操作、汉化界面和颜色显示等特性。主要功能模块包括:进货功能(添加商品)、删除功能(移除商品)、信息查询、商品展示、类型统计、信息修改和数据保存。系统采用动态顺序表存储数据,提供了完整的代码实现(包括Seqlist.h头文件声明和Seqlist.c功能实现)。该设计满足课程要求,界面友好,操作简便,可作为C语言课程设计的参考范例。

2025-12-25 12:20:04 1596 48

原创 【数据结构】堆——超详解!!!(包含堆的实现)

本文详细讲解了堆这一数据结构的概念、分类及实现方法。堆是一种特殊的完全二叉树,分为大堆(父节点值≥子节点)和小堆(子节点值≥父节点),其特点是根节点值为最大或最小。文章以数组实现小堆为例,介绍了堆的创建、初始化、销毁等基本操作,重点讲解了插入数据时的动态扩容机制和向上调整算法。通过头文件与源文件分离的模块化编程方式,提供了完整的堆实现代码,包括断言检查、内存管理等健壮性设计。该实现可用于高效查找极值,是学习数据结构与算法的重要基础。

2025-12-24 09:08:29 1343 50

原创 【数据结构】二叉树初阶——超详解!!!(包含二叉树的实现)

本文介绍了二叉树的基本概念、性质及其实现方法。首先阐述了树和二叉树的定义,包括相关术语如结点度、叶结点等。重点讲解了二叉树的两种特殊形式:满二叉树和完全二叉树,以及它们的顺序存储方式。文章详细推导了二叉树的5个重要性质,并着重介绍了二叉树的链式存储实现方案。通过创建头文件和源文件的方式组织代码,给出了二叉树的定义和构建方法,最后提到二叉树的4种遍历方式(前序、中序、后序和层序遍历)。全文以char类型二叉树为例,为后续深入学习二叉树操作奠定了基础。

2025-12-23 14:09:16 1290 55

原创 【数据结构】队列——超详解!!!(包含队列的实现)

本文详细介绍了队列这一数据结构的概念、实现方法及具体代码实现。队列是一种遵循先进先出(FIFO)原则的线性表,只能在队尾插入数据,在队头删除数据。文章通过类比餐厅排队形象地解释了队列的工作原理。在实现方面,作者推荐使用链表而非数组结构,因为链表能更高效地处理出队操作。代码实现部分详细讲解了如何创建队列节点、初始化队列、销毁队列,以及实现入队、出队等基本操作。每个函数都配有清晰的注释说明,并强调了使用断言(assert)来增强代码健壮性的重要性。文章还介绍了通过重定义数据类型(QDataType)来提高代码的

2025-12-19 12:07:05 2380 56

原创 【数据结构】栈——超详解!!!(包含栈的实现)

栈的基本概念定义栈为一种遵循后进先出(LIFO)原则的线性数据结构。核心操作包括压栈(push)和弹栈(pop),支持栈顶(top)访问和判空(isEmpty)等辅助操作。栈的实现方式数组实现:连续内存存储,需预设容量或动态扩容。链表实现:动态节点链接,无需固定大小,但指针开销略高。栈的典型应用场景函数调用栈:保存函数返回地址和局部变量。表达式求值:处理括号匹配和中缀转后缀表达式。回溯算法:如深度优先搜索(DFS)中的路径记录。栈的变体与扩展最小栈:支持O(1)时间获取当前最小值

2025-12-18 21:43:29 1714 79

原创 【C语言】贪吃蛇游戏超详解(包含音效、颜色、封装成应用等)

C语言贪吃蛇游戏开发详解 本文详细介绍了使用C语言开发贪吃蛇游戏的全过程,包含以下核心内容: 开发环境配置 必须使用Windows控制台主机运行 提供了控制台终端设置的具体步骤 关键技术应用 Win32 API实现键盘控制 EasyX图形库添加游戏音效 动态内存管理处理蛇身增长 游戏功能实现 控制台光标隐藏与定位 彩色文字显示界面 蛇身移动与碰撞检测 食物生成与分数计算 特色功能 变速控制(加速/减速) 游戏暂停与继续 彩蛋设计 项目采用模块化开发,分为头文件和源文件,代码注释详细。最终成品包含欢迎界面、游

2025-12-17 12:07:52 10161 129

原创 【C语言手撕算法】LeetCode-142. 环形链表 II(C语言)

本文介绍了如何使用C语言解决LeetCode 142题——环形链表II。首先通过快慢指针判断链表是否有环,若相遇则说明有环。然后通过数学推导证明,让一个指针从相遇点出发,另一个从头节点出发,两者相遇点即为环的入口节点。文章详细讲解了思路和代码实现,并留下思考题:快指针速度大于2时是否仍能相遇。最后感谢LeetCode平台提供的题目资源,并鼓励读者收藏支持。

2025-12-16 22:44:14 2970 57

原创 【C语言】EasyX图形库——实现游戏音效(详解)(要游戏音效的看过来!!!)

本文介绍了如何使用EasyX图形库在C++游戏中添加音效。主要内容包括:1)EasyX图形库的简介与安装方法;2)mciSendString函数的使用说明,包括头文件引用、参数设置和音乐导入;3)播放长音乐和短音乐的不同实现方式,重点说明了短音乐播放时需要关闭重置才能重复播放。文章提供了详细的代码示例和操作步骤,帮助开发者快速掌握游戏音效的实现方法。适合想要为游戏添加音效功能的C++开发者参考学习。

2025-12-16 12:19:39 3074 74

原创 【C语言】Win 32 API——一部分内容详解!!!

本文介绍了Win32 API的基础知识及其在控制台程序中的应用。主要内容包括: Win32 API简介:Windows系统的应用程序编程接口,提供各种系统功能调用 控制台程序操作: 使用system函数执行控制台命令(如设置窗口大小和标题) 通过GetStdHandle获取标准设备句柄 控制台游标控制: CONSOLE_CURSOR_INFO结构体包含游标大小和可见性信息 GetConsoleCursorInfo获取当前游标设置 SetConsoleCursorInfo修改游标属性 这些API函数配合使用可

2025-12-15 11:24:03 1479 79

原创 【C语言】数据结构——顺序表超详解!!!(包含顺序表的实现)

本文详细介绍了C语言中顺序表这一数据结构的概念与实现。首先解释了数据结构的基本概念,然后重点讲解了顺序表的定义、分类(静态顺序表和动态顺序表)及其区别。文章通过代码示例详细展示了如何创建和实现动态顺序表,包括顺序表的定义、初始化、销毁、打印等基本操作,特别强调了动态顺序表的增容机制。最后指出在实现复杂程序时应采用多文件结构,使代码更加清晰可维护。顺序表作为线性表的一种重要实现方式,在C语言程序设计中具有广泛应用价值。

2025-12-11 10:11:45 8273 57

原创 【C语言】文件操作详解2(文件的顺序读写操作)

本文详细介绍了C语言中文件的顺序读写操作,重点讲解了单字符和字符串的输入输出函数。主要内容包括: 文件操作的基本流程:打开文件、读写文件、关闭文件 单字符操作函数: fputc:将单个字符写入文件 fgetc:从文件读取单个字符,可通过循环或EOF判断实现多字符读取 字符串操作函数: fputs:将字符串写入文件,需手动添加换行符 fgets:从文件读取字符串,需注意读取字符数包含结束符'\0' 文章通过具体代码示例演示了各函数的使用方法,并强调了读写操作中的注意事项,如文件光标的自动移动、EOF的判断等。

2025-12-04 14:41:27 1936 71

原创 【C语言】文件操作详解3(文件的随机读写和其他补充)

本文详细介绍了C语言中文件的随机读写操作和相关补充内容。主要内容包括:1)fseek函数用于定位文件光标位置,可通过偏移量控制读写位置;2)ftell函数返回当前光标相对于起始位置的偏移量;3)rewind函数使光标返回文件起始位置。此外,文章还讲解了文件读写结束的判定方法,并通过文件拷贝的实例演示了这些函数的实际应用。最后提供了参考资料链接,帮助读者进一步学习。本文是文件操作系列教程的第三部分,建议收藏后逐步学习。

2025-12-04 14:39:55 1299 39

原创 【C语言】文件操作详解1(文件的打开与关闭)

本文详细介绍了C语言文件操作的基础知识,重点讲解了文件的打开与关闭。文章首先解释了程序文件与数据文件的区别,阐述了文件持久化保存数据的重要性。然后详细讲解了二进制文件和文本文件的存储方式差异,并通过10000的存储示例进行图解说明。核心部分重点介绍了文件指针的概念、标准流的三种类型(stdin/stdout/stderr),以及如何使用fopen函数打开文件,包括文件名参数的使用和三种基本打开模式("r"、"w"、"a")的特点及区别。其中&quo

2025-12-01 16:51:07 5624 101

原创 【C语言】struct结构体内存对齐和位段(超详解)

位段为一种数据结构,是结构体的一种特殊形式可以指定成员占用的二进制位数,把数据以位的形式紧凑的储存,并允许程序员对此结构的位进行操作成员类型通常为整型(int/unsigned int)或字符型(char)例如:成员名后跟冒号和位数,如 int a : 2;表明指定变量 a 的存储只给 2 个bit位(原本32bit位)OK,本期的结构体详解到这里就结束了由于文章过长,所以分了几篇文本文有若有不足之处,希望各位兄弟们能给出宝贵的意见。!!

2025-12-01 12:00:00 2078 26

原创 【C语言】struct结构体内存对齐和位段(超详解)

本文详细介绍了C语言中结构体的概念和使用方法。结构体是自定义数据类型,用于描述现实中的复杂对象,如学生信息包含姓名、年龄、成绩等不同类型数据。文章讲解了结构体的声明、定义、初始化方法,以及通过点操作符(.)和箭头操作符(->)访问结构体成员的方式。此外还介绍了结构体数组和结构体指针的使用场景,展示了如何用结构体存储和处理多个同类型数据。这些知识对理解和使用C语言中的复杂数据类型非常有帮助。

2025-11-30 14:43:53 1706 20

原创 【C语言】数据在内存中的存储(超详解)

本文介绍了数据在内存中的存储方式,包括整数和浮点数的存储机制。整数以补码形式存储,通过原码、反码和补码的转换实现符号处理;浮点数按IEEE 754标准存储,分为符号位、指数位和有效数字位。此外,文章还解释了大小端字节序的概念及其判断方法,并通过实例分析了数据在不同存储模式下的表现。最后,通过浮点数与整数的强制类型转换案例,展示了内存存储的底层原理。理解这些存储机制对编程和调试至关重要。

2025-11-29 13:37:49 2005 12

原创 【C语言】带你层层深入指针——指针详解3(野指针、assert等)

本文深入探讨了C语言指针中的野指针问题、assert断言和const修饰指针的应用。首先分析了野指针的成因(未初始化、越界访问、指向已释放空间)及防范措施(初始化、检查有效性、避免返回局部变量地址)。其次介绍了assert断言的使用方法及其调试优势,包括自动定位错误和开关控制功能。最后详细讲解了const修饰指针的两种形式:const在左边限制指针指向内容的修改,在右边限制指针变量本身的修改。通过代码示例直观展示了各类指针操作的正确与错误用法,帮助开发者编写更安全可靠的指针代码。

2025-11-28 14:51:10 6187 18

原创 【C语言】带你层层深入指针——指针详解2

本文深入解析C语言指针的核心概念,分为字符指针、数组指针和函数指针三部分。字符指针部分演示了常量字符串地址的存储特性,多个指针指向同一字符串时地址相同。数组指针部分详细讲解了数组名与地址的关系,强调一维数组传参本质是传递首元素地址,二维数组传参则是传递行地址。函数指针部分介绍了声明语法和使用方法,可通过指针直接调用函数。最后通过传址调用示例,说明通过指针修改变量值的原理。全文通过代码示例和运行结果,帮助读者逐步理解指针的多层次应用。

2025-11-27 22:11:03 1614 36

原创 【C语言】带你层层深入指针——指针详解1

本文深入解析C语言指针的核心概念,通过宿舍楼类比形象说明内存地址的作用。重点讲解了指针变量的定义、取地址(&)与解引用()操作符的使用方法,以及指针变量在内存中的大小特性(32位系统4字节,64位系统8字节)。详细阐述了指针加减整数的步进规则和指针间的运算限制,强调指针类型决定访问权限和运算步长。最后指出void指针的特殊性及使用注意事项,为后续深入讲解指针奠定基础。全文采用代码示例配合理论说明,帮助读者直观理解指针的工作原理。

2025-11-26 23:17:06 6444 36

原创 【C语言】扫雷游戏详解(包含递归,变色,记录时间等)

【C语言】扫雷游戏详解(包含递归,变色,记录时间等)

2025-11-23 14:05:16 12632 70

原创 【C语言】rand函数的应用(随机数的生成)

本文介绍了C语言中随机数生成的相关函数及应用。首先讲解了rand函数的基本用法,指出其生成的是伪随机数,需要通过srand函数设置变化的种子才能产生真正的随机数。然后详细说明了如何结合time函数获取时间戳作为种子值,确保每次运行都能生成不同的随机序列。文章还给出了生成指定范围随机数的万能公式和示例代码,并提到随机数在游戏开发中的实际应用(如扫雷游戏)。最后提供了参考资料链接,并邀请读者提出宝贵意见。全文涵盖了从基础原理到实际应用的完整知识链。

2025-11-23 11:39:57 2121 5

原创 【C语言】strcat、strcmp字符串函数详解

【C语言】strcat、strcmp字符函数详解

2025-11-20 08:52:50 6615 13

原创 【C语言】strlen、strcpy字符串函数详解

【C语言】strlen、strcpy字符串函数详解

2025-11-19 22:51:36 1591 22

原创 【C语言】字符函数详解

本文介绍了C语言中的字符函数,包括字符分类函数和字符转换函数。字符分类函数如isdigit()、islower()等用于判断字符类型,需包含<ctype.h>头文件,并通过示例代码演示了其用法。字符转换函数tolower()和toupper()可实现大小写字母转换。文章最后预告下一期将讲解字符串函数,并提供了参考资料链接。所有示例代码均附有运行结果截图,强调了头文件包含的重要性。

2025-11-19 22:28:30 1396 5

原创 【C语言】生日快乐代码!!!

【C语言】生日快乐代码!!!

2025-11-14 19:20:10 351 7

原创 【C语言】printf函数详解

【C语言】printf函数的详解

2025-11-13 13:30:00 6550 11

原创 编程小白前来报到

小白的第一篇博客

2025-11-11 22:22:57 1405 7

空空如也

空空如也

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

TA关注的人

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