自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 数据结构七大排序算法模拟实现&性能分析

本文系统介绍了数据结构中的七大经典排序算法:冒泡排序、选择排序、堆排序、插入排序、希尔排序、快速排序和归并排序。重点分析了各算法的核心思想、实现逻辑及时间复杂度:冒泡和选择排序时间复杂度为O(N²),适合教学;堆排序和快速排序采用分治思想,时间复杂度为O(NlogN);希尔排序作为插入排序的优化版本,时间复杂度为O(N^1.3)。文章通过代码实现展示了各算法的优化策略(如快速排序的三数取中、小区间优化),并比较了它们的稳定性与适用场景。

2025-09-17 19:19:58 675

原创 二叉树遍历方式&树的递归算法剖析

本文系统介绍了二叉树的基本概念、实现方法和遍历算法。主要内容包括:1)二叉树的递归结构特性,重点区分满二叉树和完全二叉树;2)二叉树结构的实现过程;3)前序、中序、后序三种遍历方式的原理和实现;4)基于递归思想的二叉树算法,如求结点数、叶子数、树高等;5)层序遍历实现及应用;6)完全二叉树的判断方法。文章强调递归思想在树结构中的核心作用,通过大量图示和代码示例,详细展示了如何将二叉树问题转化为左右子树的递归问题求解。最后通过一个综合应用案例,说明了如何根据前序字符串构建二叉树并进行中序遍历。

2025-09-11 17:49:00 973

原创 循环队列&栈实现队列——栈和队列的深度应用

本文探讨了循环队列的设计与用栈实现队列的方法。循环队列通过顺序表实现,需多开辟一个空间防止假溢出,并使用模运算解决head/tail回绕问题。用栈实现队列则采用双栈结构(输入栈和输出栈),通过两者的互补实现队列的先进先出特性。两种方法都体现了数据结构间的相互转换与应用,有助于加深对栈和队列的理解,提升实际应用能力。

2025-09-05 16:21:36 1259

原创 带环链表与随机链表的复制——链表模块的试金石

本文研究了链表中的带环判断和随机链表复制问题。对于带环链表,通过快慢指针法证明:当快指针速度是慢指针2倍时必然相遇,并推导出环入口点的计算方法。对于随机链表复制,提出三步法:1)在原节点后插入拷贝节点;2)处理random指针关系;3)分离新旧链表。该方法将空间复杂度优化为O(1)。文章通过数学推导和图示分析,展示了链表操作的算法思想,包括快慢指针、周期性和转化思维,对提升链表操作能力具有指导意义。

2025-08-31 15:06:41 906

原创 C语言经典实战项目——借助链表结构实现贪吃蛇游戏

本文详细介绍了使用C语言实现贪吃蛇游戏的全过程。项目采用模块化设计,分为头文件、功能实现和测试三个部分,涉及结构体、枚举、链表、动态内存管理等核心概念。系统实现了贪吃蛇的基本功能:键盘控制移动、随机食物生成、碰撞检测、分数计算等,并支持游戏加速/减速功能。通过500多行代码,完整呈现了游戏初始化、运行和结束的整个生命周期。该项目不仅巩固了C语言基础知识,还实践了数据结构中链表的应用,为后续开发更复杂项目奠定了基础。文章最后展示了成功的测试结果,并鼓励读者继续探索编程世界的无限可能。

2025-08-24 16:30:11 930

原创 编译、链接的具体过程——C程序底层运行机制的研究

本文系统介绍了C程序从源代码到可执行文件的完整构建过程,重点解析了编译与链接两个核心阶段。编译过程包括词法分析、语法分析、语义分析、中间代码生成与优化等步骤,将预处理后的代码转换为汇编语言;链接过程则通过符号解析、重定位等操作,将多个目标文件与库文件合并生成最终可执行文件。文章通过具体示例详细说明了每个阶段的处理逻辑,揭示了程序底层运行的机制原理,帮助读者深入理解计算机系统如何将人类可读的代码转化为机器可执行的二进制指令。

2025-08-11 15:00:29 990

原创 C语言的文件创建与文件操作相关的函数

本文介绍了C语言中文件操作的基本方法,包括文件创建、读写操作及相关函数的使用。重点讲解了fopen、fgetc、fputc、fgets、fputs等基础文件I/O函数,以及格式化读写函数fprintf/fscanf和二进制读写函数fwrite/fread。文章还涉及文件指针操作函数(fseek/ftell/rewind)和文件状态判断函数(feof)。最后通过文件拷贝实例演示了这些函数的综合应用。掌握这些文件操作技术可以突破内存限制,实现数据持久化存储,是C语言编程中管理数据的重要技能。

2025-08-10 23:03:15 1360

原创 深度剖析结构体的基本结构与结构体在内存中的对齐方式

本文深入探讨了结构体这一重要的自定义数据类型。首先介绍了结构体的基本定义和赋值方法,包括直接赋值和点操作符赋值,以及结构体嵌套和自引用的实现方式。重点分析了结构体在内存中的存储方式,详细解释了内存对齐规则和位段的概念,并通过具体示例说明如何计算结构体大小。文章还对比了结构体传参和指针传参的内存效率差异,最后总结了结构体在数据聚合和数据结构实现中的重要作用,为读者理解和使用结构体提供了全面的指导。

2025-08-05 23:41:46 1160

原创 不同数据类型在内存中的存储——深入理解内存数据结构

摘要:本文分析了整数和浮点数在内存中的存储方式。整数采用二进制补码形式,char类型占1字节(-128~127),int类型占4字节,存在大小端存储差异;浮点数采用IEEE 754标准,通过符号位S、阶码E和尾数M三部分存储。特别说明了类型强制转换时的数值异常现象(如int转float得0),揭示了不同数据类型存储机制的差异对程序结果的影响。理解这些存储原理有助于调试数值异常问题,优化程序性能。

2025-08-04 18:16:44 1066

原创 str、mem类库函数——相关用法与模拟实现

本文介绍了str和mem类库函数的使用及模拟实现。str类函数包括strlen、strcpy/strncpy、strcat/strncat、strcmp/strncmp、strstr等字符串操作函数,详细说明了各函数的用途、调用格式及编程模拟实现方法。mem类函数重点介绍了memcpy和memmove两个内存操作函数,特别说明memmove能处理内存重叠情况。通过学习和模拟实现这些常用库函数,可以提升编程效率和思维能力,加深对底层操作的理解。文章提供了各函数的实现思路和代码示例,适合C语言开发人员学习和参考

2025-08-03 01:17:28 1032

原创 从入门到精通——关于指针的那些事

本文系统介绍了C语言中指针的概念与应用。从指针的基本定义(内存地址)和指针变量(4/8字节)入手,讲解了指针访问变量、遍历数组/字符串等基础用法。重点阐述了指针与函数、数组的高级应用,包括传址调用swap函数、冒泡排序、二级指针、指针数组等核心内容。此外还涉及二维数组指针、函数指针及其数组等进阶用法,展示了指针作为C语言最灵活特性的强大功能。文章由浅入深地解构了指针这一重要概念,帮助读者全面掌握指针的运用技巧。

2025-07-30 21:25:03 528

原创 扫雷游戏的实现——代码也有趣味的一面

这个扫雷游戏的规则是:游戏里面的数字表示以数字为中心的九宫格周围八个格子里有几个雷,根据不同格子里的数字所代表的区域形成交集,互相佐证,按照这个方法找出所有的地雷,就算挑战成功。哈哈,作者还是一如既往地菜,不过可以看出这个扫雷游戏的代码运行是成功的,大家可以按我这个代码的思路去尝试设计出这个扫雷游戏,或者设计出自己想玩的游戏,利用代码设计出游戏,也算代码别具趣味的一面吧,作者觉得挺有意思的,分享给大家,如果这篇文章有帮助到你,作者不胜荣幸,若文章存在不足之处,欢迎各位指正!下面给就给大家一 一介绍下。

2025-07-15 22:33:09 283

原创 分支与循环结构语句介绍———结构化的C语言

前言:本文主要介绍C语言的分支与循环语句,C语言作为一种基础且运用广泛的结构化语言,主要可将其分为三大结构:顺序、分支、循环结构,本文主要围绕C语言的分支与循环结构展开进行介绍,主要介绍分支语句中的if,switch语句,循环语句中的for,while,do-while语句,以及分支与循环两种语句相互嵌套的情况。至此,C语言循环结构中的for,while,do-while三种语句也介绍完毕,下面举一个例子来介绍C语言中分支与循环两种结构相互嵌套的情况。满足该条件执行的语句;满足该条件执行的语句;

2025-07-13 13:23:46 904

原创 启程 - 我的编程学习之旅

目前还没有特别想进某一家IT公司的打算,但未来选公司的方向肯定是朝着优秀的公司为基准点,当然,这只是现阶段的憧憬。我是杨章凯, 一名对编程世界充满好奇与热情的大学生,我来自福建农林大学的电子信息工程专业,虽然目前我还是编程领域的初学者,但我对如何用代码解决问题充满向往,渴望通过系统学习打开这扇神奇的大门。(4).刻意练习与复习:定期回顾所学知识,通过刷题平台进行算法和数据结构的练习,提升解决问题的能力。周末:每天4小时,主要用于做项目,系统复习,解决疑难问题·,写博客总结。培养良好的代码习惯和调试能力。

2025-07-05 21:11:14 376

空空如也

空空如也

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

TA关注的人

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