<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[LBX_0309的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/LBX_0309</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; LBX_0309]]></copyright><item><title><![CDATA[C++ string（初识）]]></title><link>https://blog.youkuaiyun.com/LBX_0309/article/details/157618880</link><guid>https://blog.youkuaiyun.com/LBX_0309/article/details/157618880</guid><author>LBX_0309</author><pubDate>Mon, 02 Feb 2026 16:23:05 +0800</pubDate><description><![CDATA[而是标准库提供的（准确说是的别名），它封装了字符串的存储和各种操作，无需你手动管理内存（比如扩容、释放），是处理字符串的首选。使用它的<string>std。]]></description><category></category></item><item><title><![CDATA[C++之模板初阶]]></title><link>https://blog.youkuaiyun.com/LBX_0309/article/details/157613765</link><guid>https://blog.youkuaiyun.com/LBX_0309/article/details/157613765</guid><author>LBX_0309</author><pubDate>Sun, 01 Feb 2026 13:55:32 +0800</pubDate><description><![CDATA[用函数重载虽然可以实现，但是重载的函数仅仅是类型不同，代码复用率比较低，只要有新类型出现时，就需要用户自己增加对应的函数代码的可维护性比较低，一个出错可能所有的重载均出错于是有了模板通过监视可以看出函数成功运行，其运行原理如下：然而，若是出现两个不同类型相加呢，那便有了。]]></description><category></category></item><item><title><![CDATA[C++动态内存管理]]></title><link>https://blog.youkuaiyun.com/LBX_0309/article/details/157585201</link><guid>https://blog.youkuaiyun.com/LBX_0309/article/details/157585201</guid><author>LBX_0309</author><pubDate>Sat, 31 Jan 2026 23:18:07 +0800</pubDate><description><![CDATA[本文系统介绍了C/C++内存管理机制，重点分析了内存分布、动态内存分配和内存泄漏问题。主要内容包括：1）内存五大分区（栈、堆、数据段、代码段等）的特性及典型变量存储位置；2）malloc/calloc/realloc的区别及使用注意事项；3）new/delete与malloc/free的本质差异，特别是对自定义类型的构造/析构处理；4）operator new/delete的实现原理；5）内存泄漏的四种典型场景（忘记释放、指针重赋值、异常中断、全局指针）及其危害。文章强调，长期运行的程序必须严格遵循&quo]]></description><category></category></item><item><title><![CDATA[c++基础知识入门]]></title><link>https://blog.youkuaiyun.com/LBX_0309/article/details/150635834</link><guid>https://blog.youkuaiyun.com/LBX_0309/article/details/150635834</guid><author>LBX_0309</author><pubDate>Sun, 24 Aug 2025 19:37:41 +0800</pubDate><description><![CDATA[本文介绍了C++编程中的核心概念：命名空间（namespace）、输入输出、缺省参数、函数重载、引用和inline函数。命名空间用于解决标识符冲突，通过域隔离避免污染全局作用域。C++的IO流（cin/cout）相比C更智能，可自动识别类型。缺省参数提高了函数调用的灵活性，函数重载则允许同名函数根据参数不同实现多态。引用作为变量的别名，简化了指针操作并提高了效率。inline函数通过消除调用开销优化性能，但需注意代码膨胀问题。文中还对比了宏与inline函数的区别，强调了inline在类型安全和参数求值方面]]></description><category></category></item><item><title><![CDATA[数据结构----八大排序算法]]></title><link>https://blog.youkuaiyun.com/LBX_0309/article/details/150484184</link><guid>https://blog.youkuaiyun.com/LBX_0309/article/details/150484184</guid><author>LBX_0309</author><pubDate>Tue, 19 Aug 2025 11:54:39 +0800</pubDate><description><![CDATA[本文系统介绍了多种经典排序算法及其实现，包括插入排序（直接插入、希尔排序）、选择排序（直接选择、堆排序）、交换排序（冒泡、快速排序）以及归并排序和计数排序。每种算法从原理、代码实现、时间复杂度/空间复杂度三个维度进行详细解析，并附有优化思路和测试代码。特别对快速排序的三种实现方式（hoare法、挖坑法、前后指针法）和递归/非递归版本进行了对比分析。文章最后通过性能测试对比了各算法效率，帮助读者理解不同场景下的适用选择。整体内容全面深入，代码示例清晰，兼具理论性和实践指导价值。]]></description><category></category></item><item><title><![CDATA[二叉树应用实践]]></title><link>https://blog.youkuaiyun.com/LBX_0309/article/details/150415639</link><guid>https://blog.youkuaiyun.com/LBX_0309/article/details/150415639</guid><author>LBX_0309</author><pubDate>Sat, 16 Aug 2025 12:21:19 +0800</pubDate><description><![CDATA[本文总结了二叉树相关算法题解，包括单值二叉树、相同树、对称树、子树判断及前中后序遍历的实现。核心要点：1. 单值二叉树通过递归检查节点值与子节点是否一致；2. 相同树和对称树通过结构比较和递归验证；3. 子树判断基于相同树逻辑；4. 前中后序遍历分别采用根-左-右、左-根-右、左-右-根的顺序递归实现。所有解法均包含空节点处理，并注意内存管理（如malloc/free）。代码示例展示了如何通过递归处理二叉树问题，同时提示了递归深度限制的潜在风险。]]></description><category></category></item><item><title><![CDATA[数据结构---链式结构二叉树]]></title><link>https://blog.youkuaiyun.com/LBX_0309/article/details/150392472</link><guid>https://blog.youkuaiyun.com/LBX_0309/article/details/150392472</guid><author>LBX_0309</author><pubDate>Thu, 14 Aug 2025 19:09:06 +0800</pubDate><description><![CDATA[本文系统介绍了链式结构二叉树的实现与操作。主要内容包括：1）二叉树的创建与结构定义；2）三种基本遍历方式（前序、中序、后序）的递归实现及应用场景；3）常见二叉树操作算法：求节点数、叶子节点数、第k层节点数、树深度、查找节点等；4）二叉树的销毁方法；5）层序遍历的队列实现。各算法均采用递归思想，给出了代码实现、核心逻辑及优缺点分析，特别强调了避免全局变量的重要性。文章为理解和实现链式二叉树提供了完整的技术参考，涵盖了从基础创建到复杂操作的全过程。]]></description><category></category></item><item><title><![CDATA[堆----TOP-K问题]]></title><link>https://blog.youkuaiyun.com/LBX_0309/article/details/150386887</link><guid>https://blog.youkuaiyun.com/LBX_0309/article/details/150386887</guid><author>LBX_0309</author><pubDate>Thu, 14 Aug 2025 12:42:21 +0800</pubDate><description><![CDATA[本文介绍了TOP-K问题的解决方案，即通过堆结构高效查找数据集中前K个最大或最小元素。核心思路是：先建立K元素堆（最大/最小堆取决于问题类型），然后将剩余元素与堆顶比较，不满足条件则替换并调整堆结构。文章提供了C语言实现代码，包括堆的构建、调整和TOP-K查找过程，并分析了时间复杂度为O(nlogk)，说明该方法在K远小于数据总量n时具有显著效率优势。]]></description><category></category></item><item><title><![CDATA[数据结构--------堆]]></title><link>https://blog.youkuaiyun.com/LBX_0309/article/details/150139542</link><guid>https://blog.youkuaiyun.com/LBX_0309/article/details/150139542</guid><author>LBX_0309</author><pubDate>Thu, 14 Aug 2025 11:05:37 +0800</pubDate><description><![CDATA[摘要：二叉树是一种非线性数据结构，由有限节点组成，具有层次关系。文章详细介绍了二叉树的基本概念、术语（如根节点、子节点、度等）和存储结构（顺序存储和链式存储）。重点讲解了堆的实现，包括大根堆/小根堆的特性、核心操作（插入、删除、调整）及其时间复杂度分析。还比较了向上调整和向下调整两种建堆方法的时间复杂度差异（O(nlogn) vs O(n)），并提供了堆排序的实现代码。文章最后展示了二叉树在文件系统、数据库索引等领域的实际应用场景。]]></description><category></category></item><item><title><![CDATA[栈和队列应用实操]]></title><link>https://blog.youkuaiyun.com/LBX_0309/article/details/150102907</link><guid>https://blog.youkuaiyun.com/LBX_0309/article/details/150102907</guid><author>LBX_0309</author><pubDate>Sat, 09 Aug 2025 18:11:38 +0800</pubDate><description><![CDATA[本文总结了四种经典数据结构实现方法：1. 有效的括号验证：使用栈结构匹配括号对，时间复杂度O(n)，空间复杂度O(n)。2. 队列实现栈：通过两个队列互相导数据实现LIFO特性，每个元素最多入队两次。3. 栈实现队列：采用分工明确的push/pop双栈结构，通过数据迁移实现FIFO特性。4. 循环队列设计：利用k+1空间和模运算实现循环特性，所有操作时间复杂度O(1)。所有实现均包含完整的内存管理、边界条件处理和空容器安全销毁机制，展现了数据结构转换的核心思想与工程实践要点。]]></description><category></category></item><item><title><![CDATA[数据结构----栈和队列认识]]></title><link>https://blog.youkuaiyun.com/LBX_0309/article/details/150013669</link><guid>https://blog.youkuaiyun.com/LBX_0309/article/details/150013669</guid><author>LBX_0309</author><pubDate>Thu, 07 Aug 2025 17:13:00 +0800</pubDate><description><![CDATA[本文介绍了栈(后进先出)和队列(先进先出)两种基本数据结构的实现方法。栈的实现部分详细说明了初始化、入栈、出栈、判空、获取栈顶元素、元素个数统计和销毁等操作的代码实现，重点分析了数组动态扩容机制。队列的实现部分则展示了链表形式的队列结构，包括初始化、入队、出队、判空、获取队头/队尾元素、销毁等操作，并强调了边界条件的处理。两种数据结构都通过头文件定义接口，源文件实现具体功能，体现了模块化编程思想，同时提供了测试用例和递归模拟示例。]]></description><category></category></item><item><title><![CDATA[双向链表认识]]></title><link>https://blog.youkuaiyun.com/LBX_0309/article/details/149939794</link><guid>https://blog.youkuaiyun.com/LBX_0309/article/details/149939794</guid><author>LBX_0309</author><pubDate>Wed, 06 Aug 2025 11:07:22 +0800</pubDate><description><![CDATA[摘要：双向链表是一种线性数据结构，每个节点包含指向前驱和后继的指针，相比单链表具有更高的操作灵活性。其核心结构包括数据域、前驱指针和后驱指针。基本操作包括初始化、插入（头插/尾插）、删除（头删/尾删）、查找、销毁等。双向链表支持O(1)时间复杂度的头尾插入删除操作，但随机访问效率较低。实现时需特别注意指针修改顺序以避免链表断裂。与顺序表相比，链表在插入删除时无需数据搬移，但随机访问效率较低。销毁操作需遍历释放所有节点，二级指针版本可自动置空头指针。双向链表适合频繁插入删除的场景，而顺序表更适合随机访问。]]></description><category></category></item><item><title><![CDATA[单链表应用实践]]></title><link>https://blog.youkuaiyun.com/LBX_0309/article/details/149915145</link><guid>https://blog.youkuaiyun.com/LBX_0309/article/details/149915145</guid><author>LBX_0309</author><pubDate>Tue, 05 Aug 2025 14:16:05 +0800</pubDate><description><![CDATA[本文总结了链表常见问题的解决思路和代码实现：1. 移除元素：通过创建新链表并尾插非目标值节点，注意断开原链表连接；2. 反转链表：使用三指针法(n1,n2,n3)或递归实现；3. 中间节点：快慢指针法，快指针两倍速移动；4. 合并有序链表：使用哨兵节点简化操作，按序连接节点；5. 回文判断：数组法或优化空间法（反转后半部分）；6. 相交链表：计算长度差后同步遍历；7. 环形链表：快慢指针判断，相遇后找入口点。关键点包括指针操作、边界条件处理和空间优化。]]></description><category></category></item><item><title><![CDATA[数据结构之链表]]></title><link>https://blog.youkuaiyun.com/LBX_0309/article/details/149850923</link><guid>https://blog.youkuaiyun.com/LBX_0309/article/details/149850923</guid><author>LBX_0309</author><pubDate>Sun, 03 Aug 2025 21:15:06 +0800</pubDate><description><![CDATA[单链表是一种非连续存储结构，通过指针链接实现数据元素的逻辑顺序。每个节点包含数据和指向下一节点的指针。摘要介绍了单链表的基本操作实现：1）创建节点并初始化；2）头插/尾插操作；3）头删/尾删处理；4）查找指定元素；5）在指定位置前/后插入节点；6）删除指定节点及其后继节点；7）销毁链表释放内存。关键点包括指针操作、边界条件处理（如空链表、首尾节点）以及内存管理。所有操作均通过修改节点间的指针链接来维护链表结构，体现了链表的动态内存分配特性。]]></description><category></category></item><item><title><![CDATA[数据结构之顺序表应用与双指针法]]></title><link>https://blog.youkuaiyun.com/LBX_0309/article/details/149822076</link><guid>https://blog.youkuaiyun.com/LBX_0309/article/details/149822076</guid><author>LBX_0309</author><pubDate>Fri, 01 Aug 2025 10:12:41 +0800</pubDate><description><![CDATA[摘要：本文介绍了数组元素删除的实现方法，重点分析了双指针算法在移除元素和去重问题中的应用。文章首先展示了通过元素移动实现删除的基本方法，然后详细讲解了力扣算法题&quot;移除元素&quot;和&quot;删除有序数组重复项&quot;的双指针解法，特别解释了++dst!=src条件避免无效赋值的原理。最后提出了6种优化代码性能的实用技巧，包括避免重复计算、条件判断优化、指针判空等，并以合并有序数组为例比较了不同解法的时间复杂度。]]></description><category></category></item><item><title><![CDATA[数据结构之顺序表]]></title><link>https://blog.youkuaiyun.com/LBX_0309/article/details/149768876</link><guid>https://blog.youkuaiyun.com/LBX_0309/article/details/149768876</guid><author>LBX_0309</author><pubDate>Thu, 31 Jul 2025 12:09:04 +0800</pubDate><description><![CDATA[线性表（linear list）是n个具有相同特性的数据元素的有限序列。线性表是⼀种在实际中广泛使用的数据结构，常见的线性表：顺序表、链表、栈、队列、字符串...线性表在，也就说是连续的⼀条直线。但是在， 线性表在物理上存储时，通常以数组和链式结构的形式存储。]]></description><category></category></item><item><title><![CDATA[数据结构之时间复杂度]]></title><link>https://blog.youkuaiyun.com/LBX_0309/article/details/149705972</link><guid>https://blog.youkuaiyun.com/LBX_0309/article/details/149705972</guid><author>LBX_0309</author><pubDate>Tue, 29 Jul 2025 18:21:31 +0800</pubDate><description><![CDATA[是计算机存储，组织数据的方式，指相互之间存在⼀种或多种特定关系的数据元素的集合。有线性表，树 ，图，哈希等:  就是定义良好的计算过程，他取⼀个或⼀组的值为输⼊，并产⽣出⼀个或⼀组值作为输出。简单来说算法就是⼀系列的计算步骤，用来将输⼊数据转化成输出结果。]]></description><category></category></item><item><title><![CDATA[预处理详解]]></title><link>https://blog.youkuaiyun.com/LBX_0309/article/details/149682078</link><guid>https://blog.youkuaiyun.com/LBX_0309/article/details/149682078</guid><author>LBX_0309</author><pubDate>Sun, 27 Jul 2025 23:13:29 +0800</pubDate><description><![CDATA[define   #include是预处理指令int main()int m=max;return 0;__DATE__,__TIME__ )// \是续行符int main()return 0;#define后面最好不要加上；#define机制允许参数替换到文本中，这种实现称为宏parament-list 是⼀个由逗号隔开的符号表，它们可能出现在stuff中注意： 参数列表的左括号必须与name紧邻，如果两者之间有任何空白存在，参数列表就会被解释为stuff的一部分。]]></description><category></category></item><item><title><![CDATA[文件操作认识]]></title><link>https://blog.youkuaiyun.com/LBX_0309/article/details/149631828</link><guid>https://blog.youkuaiyun.com/LBX_0309/article/details/149631828</guid><author>LBX_0309</author><pubDate>Sat, 26 Jul 2025 17:21:07 +0800</pubDate><description><![CDATA[函数名功能适用于fgetc字符输入函数（字符）所有输入流fputc字符输出函数所有输出流fgets文本行输入函数（字符串）所有输入流fputs文本行输出函数所有输出流fscanf格式化输入函数所有输入流fprintf格式化输出函数所有输出流fread二进制输入文件输入流fwrite二进制输出文件输出流上⾯说的适用于所有输入流⼀般指适用于标准输输入流和其他输入流（如文件输入流）；所有输出流⼀ 般指适用于标准输出流和其他输出流（如文件输出流）。]]></description><category></category></item><item><title><![CDATA[动态内存管理]]></title><link>https://blog.youkuaiyun.com/LBX_0309/article/details/149595211</link><guid>https://blog.youkuaiyun.com/LBX_0309/article/details/149595211</guid><author>LBX_0309</author><pubDate>Thu, 24 Jul 2025 18:08:25 +0800</pubDate><description><![CDATA[但上述：1.开辟空间大小固定2.数组申明时必须指定数组长度，一旦确定不能调整，因此引入动态内存开辟，可以申请和释放空间。]]></description><category></category></item></channel></rss>