<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[xuedingbue的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/xuedingbue</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; xuedingbue]]></copyright><item><title><![CDATA[数据结构与顺序表：高效数据管理秘籍]]></title><link>https://blog.youkuaiyun.com/xuedingbue/article/details/157360759</link><guid>https://blog.youkuaiyun.com/xuedingbue/article/details/157360759</guid><author>xuedingbue</author><pubDate>Wed, 28 Jan 2026 21:58:29 +0800</pubDate><description><![CDATA[本文介绍了数据结构的基本概念和顺序表的实现原理。数据结构是计算机存储和组织数据的方式，包括数据本身及其管理方法。顺序表作为线性表的一种，底层基于数组实现，具有物理结构和逻辑结构连续的特性。文章详细对比了顺序表的优缺点：支持高速随机访问但扩容成本高，适合频繁查询场景。代码实现部分展示了顺序表的核心操作，包括初始化、销毁、尾插、头插、尾删等，重点讲解了动态扩容机制（2倍增长策略）和边界条件处理。通过封装数组操作，顺序表提供了更便捷的数据管理接口，解决了原生数组在增删操作中的繁琐问题。]]></description><category></category></item><item><title><![CDATA[数据结构与算法：树与堆详解，堆排序，建堆]]></title><link>https://blog.youkuaiyun.com/xuedingbue/article/details/157262024</link><guid>https://blog.youkuaiyun.com/xuedingbue/article/details/157262024</guid><author>xuedingbue</author><pubDate>Sat, 24 Jan 2026 23:48:38 +0800</pubDate><description><![CDATA[本文介绍了树和二叉树的基本概念与存储方式。树是一种非线性数据结构，具有层次关系和递归特性。文章详细讲解了树的表示方法，包括指针数组、顺序表和左孩子右兄弟表示法。重点介绍了二叉树的定义、特性以及完全二叉树、满二叉树等特殊类型。在存储方面，分析了数组存储的适用场景和局限性。最后深入讲解了堆的概念与实现，包括堆的初始化、插入、删除等操作，以及向上调整和向下调整两种关键算法。通过代码示例展示了如何构建小堆结构，为后续堆排序等应用奠定基础。]]></description><category></category></item><item><title><![CDATA[数据结构与算法：高效掌握复杂度]]></title><link>https://blog.youkuaiyun.com/xuedingbue/article/details/156872775</link><guid>https://blog.youkuaiyun.com/xuedingbue/article/details/156872775</guid><author>xuedingbue</author><pubDate>Mon, 19 Jan 2026 17:10:00 +0800</pubDate><description><![CDATA[本文介绍了数据结构与算法的基本概念，重点讲解了算法复杂度分析中的时间复杂度和空间复杂度。数据结构是计算机存储和组织数据的方式，算法则是解决问题的计算步骤。衡量算法优劣主要从时间和空间两个维度出发：时间复杂度反映算法执行速度，通常使用大O渐进表示法来估算；空间复杂度衡量算法运行所需的额外存储空间。文章通过多个代码示例（如冒泡排序、二分查找、递归等）详细演示了如何计算不同算法的时间复杂度，并对比了常见时间复杂度级别的性能差异。特别强调了递归算法（如斐波那契数列）的时间复杂度问题及其优化方法。最后指出实际应用中应]]></description><category></category></item><item><title><![CDATA[链表操作技巧全解析]]></title><link>https://blog.youkuaiyun.com/xuedingbue/article/details/156795500</link><guid>https://blog.youkuaiyun.com/xuedingbue/article/details/156795500</guid><author>xuedingbue</author><pubDate>Sun, 11 Jan 2026 00:08:01 +0800</pubDate><description><![CDATA[本文介绍了三种链表操作问题的解法：1)移除链表元素：通过查找节点删除或创建新链表实现；2)反转链表：采用头插法或三指针法；3)寻找链表中点：使用计数法或快慢指针法。每种方法都配有图示和代码示例，重点讲解了指针操作的注意事项，如重置指针、避免空指针解引用等。这些解法展示了链表处理的基本思路和技巧，包括节点遍历、指针维护和边界条件处理，适用于常见的链表编程问题。]]></description><category></category></item><item><title><![CDATA[C语言字符处理函数全解析（上）]]></title><link>https://blog.youkuaiyun.com/xuedingbue/article/details/155538023</link><guid>https://blog.youkuaiyun.com/xuedingbue/article/details/155538023</guid><author>xuedingbue</author><pubDate>Mon, 08 Dec 2025 12:45:19 +0800</pubDate><description><![CDATA[本文介绍了C语言中常用的字符处理和字符串操作函数。字符分类函数如islower()可用于判断字符类型；字符转换函数可实现大小写转换；strlen()用于计算字符串长度；strcpy()实现字符串拷贝，需注意源字符串必须以'\0'结尾且目标空间可修改；strcat()用于字符串追加；strcmp()比较字符串内容而非长度；strncpy()相比strcpy()更安全，可指定拷贝字符数。文章还分析了各函数的使用要点、实现原理及常见错误，如strcpy()可能导致越界访问等问题。]]></description><category></category></item><item><title><![CDATA[C语言动态内存管理全解析]]></title><link>https://blog.youkuaiyun.com/xuedingbue/article/details/155273480</link><guid>https://blog.youkuaiyun.com/xuedingbue/article/details/155273480</guid><author>xuedingbue</author><pubDate>Mon, 01 Dec 2025 21:48:38 +0800</pubDate><description><![CDATA[本文介绍了C语言动态内存管理的关键知识点。首先解释了为什么需要动态内存分配，以解决程序运行时空间需求不确定的问题。然后详细讲解了malloc、calloc和realloc三个核心函数的使用方法及注意事项：malloc返回void*指针需强制类型转换；calloc会自动初始化内存为0；realloc调整内存大小时需谨慎处理指针。文章还总结了常见错误，如空指针解引用、内存越界、重复释放和内存泄漏，并提供了解决方法，强调malloc和free必须成对使用。最后通过图书馆借书的比喻形象说明了内存泄漏的危害，提醒程序]]></description><category></category></item><item><title><![CDATA[揭秘联合体：共用内存的巧妙设计，以及枚举的用法优点]]></title><link>https://blog.youkuaiyun.com/xuedingbue/article/details/155207020</link><guid>https://blog.youkuaiyun.com/xuedingbue/article/details/155207020</guid><author>xuedingbue</author><pubDate>Tue, 25 Nov 2025 23:12:43 +0800</pubDate><description><![CDATA[本文介绍了联合体(共用体)和枚举类型的特点及应用。联合体所有成员共用同一内存空间，其大小至少为最大成员的大小，需考虑对齐数问题。通过图书、杯子和衬衫的示例，展示了联合体节省内存的优势。文章还讲解了用联合体判断机器大小端的方法，以及枚举类型相比#define的优点：类型检查、可读性强、便于调试和作用域规则。最后强调这些概念需要在实际编程中逐步理解掌握。]]></description><category></category></item><item><title><![CDATA[指针数组与数组指针：核心区别与应用场景]]></title><link>https://blog.youkuaiyun.com/xuedingbue/article/details/155098725</link><guid>https://blog.youkuaiyun.com/xuedingbue/article/details/155098725</guid><author>xuedingbue</author><pubDate>Mon, 24 Nov 2025 21:23:22 +0800</pubDate><description><![CDATA[本文主要探讨指针数组与数组指针的区别及应用场景。指针数组实质是数组，元素均为地址（如int*prr[]），适合存储不同长度的字符串；数组指针实质是指针，存储数组首地址（如int(*ptr)[]），常用于二维数组操作。文章通过案例分析了函数传参时的易错点，并对比了两者在内存效率和应用场景上的差异，最后提供了指针使用场景的选择建议。]]></description><category></category></item><item><title><![CDATA[C语言进阶：回调函数与qsort的熟练应用]]></title><link>https://blog.youkuaiyun.com/xuedingbue/article/details/154875933</link><guid>https://blog.youkuaiyun.com/xuedingbue/article/details/154875933</guid><author>xuedingbue</author><pubDate>Mon, 17 Nov 2025 22:03:14 +0800</pubDate><description><![CDATA[本文分享了回调函数和qsort排序函数的学习心得。回调函数是通过函数指针调用的函数，可以实现灵活的函数调用。qsort是C语言中的通用排序函数，采用快速排序算法，支持任意数据类型排序。作者以冒泡排序为例，详细说明了如何改进使其支持结构体排序：通过void*指针接收不同类型数据，使用比较回调函数实现元素比较，并完成交换操作。文章最后鼓励读者指出问题并进行补充。这个分享为初学者理解通用排序实现提供了实用参考。]]></description><category></category></item><item><title><![CDATA[指针数组与数组指针的终极解析]]></title><link>https://blog.youkuaiyun.com/xuedingbue/article/details/154614119</link><guid>https://blog.youkuaiyun.com/xuedingbue/article/details/154614119</guid><author>xuedingbue</author><pubDate>Sat, 15 Nov 2025 15:08:46 +0800</pubDate><description><![CDATA[本文分享了学习指针的几点关键理解：1)区分指针数组和数组指针，尤其是一维/二维数组传参时的不同表示方法；2)函数指针的本质是指向函数地址的指针，要注意调用时*的省略位置；3)typedef重命名和#define替换的区别；4)函数指针数组的使用；5)函数指针的实际应用及优化方法；6)指针实现时需要注意的易忘知识点。文章结合实例讲解了指针学习中的重点和难点问题。]]></description><category></category></item><item><title><![CDATA[指针变量与数组之间的微妙关系]]></title><link>https://blog.youkuaiyun.com/xuedingbue/article/details/154574067</link><guid>https://blog.youkuaiyun.com/xuedingbue/article/details/154574067</guid><author>xuedingbue</author><pubDate>Mon, 10 Nov 2025 21:39:44 +0800</pubDate><description><![CDATA[现在，大家可能会有疑问，为什么下面的这个p不能改成arr,而上面的则能用arr，是因为上面那个并不是对arr本身进行加减的，而是借助arr这个值来实现加减的，本质没有对arr进行修改，只是借助它这个值，来计算一个新的结果。冒泡排序是每一趟可以让一个元素到最终排序好的位置，比如是升序，第一趟会将最大的放到最后一个位置，第二趟会把次大的放到倒数第二个位置，我们n-1趟就可以把n个元素都放到最终的位置实现排序。等于i+1是因为，把数组中的元素分别赋值给1，2，3，4，5......]]></description><category></category></item><item><title><![CDATA[指针变量与内存地址解析]]></title><link>https://blog.youkuaiyun.com/xuedingbue/article/details/154495442</link><guid>https://blog.youkuaiyun.com/xuedingbue/article/details/154495442</guid><author>xuedingbue</author><pubDate>Sat, 08 Nov 2025 16:06:11 +0800</pubDate><description><![CDATA[其实是有必要的，当我们让地址加1时，是根据类型的大小来加的，如果我们把关于int 的类型用char的指针，虽然能放下，但是如果加1，就只能跳过1个字节，但如果用int指针，加1，那么跳过四个字节。6.因为数组在内存中是连续存放的，只要知道一个元素的内存，就能顺藤摸瓜的找到后面的所有元素，数组中的地址是从小到大排序的。那么在x86(32位环境下)，一个地址的大小是32个比特位==4个字节，所以在32位环境下。可通过4.中地址加1来使地址发生变化，推测出下一个地址，找到存放的数字，打印出来。]]></description><category></category></item><item><title><![CDATA[入门编程小游戏]]></title><link>https://blog.youkuaiyun.com/xuedingbue/article/details/154151676</link><guid>https://blog.youkuaiyun.com/xuedingbue/article/details/154151676</guid><author>xuedingbue</author><pubDate>Thu, 06 Nov 2025 10:44:17 +0800</pubDate><description><![CDATA[这篇文章介绍了一个简单的猜数字小游戏程序设计，主要包括以下要点：1)游戏随机生成1-100的数字让玩家猜测；2)玩家通过提示调整猜测直到猜中；3)设置5次尝试限制；4)使用分支结构控制游戏流程；5)运用rand和srand函数实现随机数生成；6)包含游戏开始/退出的选择功能。文章还提到程序可能存在需要改进的不足之处。]]></description><category></category></item><item><title><![CDATA[数组基础学习的易忘点和易错点]]></title><link>https://blog.youkuaiyun.com/xuedingbue/article/details/154133337</link><guid>https://blog.youkuaiyun.com/xuedingbue/article/details/154133337</guid><author>xuedingbue</author><pubDate>Thu, 30 Oct 2025 21:54:00 +0800</pubDate><description><![CDATA[本文分享了学习数组时常见的易错点和注意事项。主要内容包括：1）如何用数组求最大值；2）数组元素的访问与打印；3）数组的内存存储和地址打印；4）sizeof与strlen的区别；5）数组元素个数和大小计算；6）二维数组输入输出；7）字符型与整型数组的区别。作者特别提醒要注意数组下标访问、内存地址打印格式、操作符类型长度计算等细节，并欢迎读者指正补充。]]></description><category></category></item><item><title><![CDATA[我的编程成长计划：从零到无限]]></title><link>https://blog.youkuaiyun.com/xuedingbue/article/details/152607676</link><guid>https://blog.youkuaiyun.com/xuedingbue/article/details/152607676</guid><author>xuedingbue</author><pubDate>Mon, 06 Oct 2025 20:22:36 +0800</pubDate><description><![CDATA[2.首先，要通过学校的编程社团的考试，成为他们当中的一员，分享编程学习，主动向指导老师。5.我渴望加入的IT公司是字节跳动，贵公司实力雄厚旗下的APP更是数不胜数！，如：蓝桥杯，ACM等等。提前做好规划，了解，积极备考，拿到预期的名次。，挑战自我，希望在不断地积累沉淀下，取得巨大进步！节假日的时候，每天三个小时以上的编程学习。4.工作日的时候，每天两个小时以上的编程学习。编程题，反复钻研，多和同学进行编程交流。会在编程学习方面不断。今天给大家分享一下我的编程规划！一些上课的时候没听懂的知识，进行反复。]]></description><category></category></item></channel></rss>