<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Yyyyyyyyyyyyds的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Yyyyyyyyyyyyds</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Yyyyyyyyyyyyds]]></copyright><item><title><![CDATA[String类]]></title><link>https://blog.youkuaiyun.com/Yyyyyyyyyyyyds/article/details/150554383</link><guid>https://blog.youkuaiyun.com/Yyyyyyyyyyyyds/article/details/150554383</guid><author>Yyyyyyyyyyyyds</author><pubDate>Wed, 20 Aug 2025 14:54:54 +0800</pubDate><description><![CDATA[本文介绍了C++中string类的相关特性，主要包括： auto关键字和范围for循环 auto用于自动类型推导，不能用于函数参数和数组声明 范围for循环底层通过迭代器实现，支持修改元素和只读访问 string类常见接口 构造函数：支持空串、C字符串、重复字符等构造方式 容量操作：size()/length()、capacity()、resize()等 访问遍历：operator[]、迭代器、范围for 修改操作：重点介绍了push_back、append、operator+=、c_str等 string]]></description><category></category></item><item><title><![CDATA[类和对象（前章）]]></title><link>https://blog.youkuaiyun.com/Yyyyyyyyyyyyds/article/details/149810986</link><guid>https://blog.youkuaiyun.com/Yyyyyyyyyyyyds/article/details/149810986</guid><author>Yyyyyyyyyyyyds</author><pubDate>Thu, 31 Jul 2025 17:55:00 +0800</pubDate><description><![CDATA[本文介绍了C++中类和对象的基础概念，重点讲解了类的定义格式、访问修饰符和对象实例化三部分内容。在类定义方面，说明了使用class关键字创建类的基本语法，以及成员变量和成员函数的声明方式。访问修饰符部分详细解析了public、private和protected三种权限的区别及使用场景，通过代码示例展示了不同修饰符对成员访问的限制。对象实例化部分阐述了类与对象的关系，分析了类对象的内存存储方式（成员变量单独存储，成员函数共享），并通过示例代码验证了类对象大小的计算方法。文章还强调了类域的概念及其在成员函数定义]]></description><category></category></item><item><title><![CDATA[类和对象（下）]]></title><link>https://blog.youkuaiyun.com/Yyyyyyyyyyyyds/article/details/149805906</link><guid>https://blog.youkuaiyun.com/Yyyyyyyyyyyyds/article/details/149805906</guid><author>Yyyyyyyyyyyyds</author><pubDate>Thu, 31 Jul 2025 14:54:34 +0800</pubDate><description><![CDATA[本文深入探讨了C++类和对象的高级特性。首先介绍了构造函数的初始化列表用法，然后详细解析了类型转换机制，包括单/多参数构造函数的隐式转换规则和explicit关键字的作用。其次讲解了static成员的特性和应用场景，通过累加问题案例展示了静态成员变量在对象间共享数据的优势。最后阐述了友元机制，包括友元函数和友元类的使用规则、单向性特点和封装破坏性。全文通过代码示例直观展示了这些高级特性的实际应用，帮助读者深入理解C++面向对象编程的核心概念。]]></description><category></category></item><item><title><![CDATA[类和对象（上篇）]]></title><link>https://blog.youkuaiyun.com/Yyyyyyyyyyyyds/article/details/149510715</link><guid>https://blog.youkuaiyun.com/Yyyyyyyyyyyyds/article/details/149510715</guid><author>Yyyyyyyyyyyyds</author><pubDate>Mon, 21 Jul 2025 17:32:15 +0800</pubDate><description><![CDATA[这篇技术文章主要介绍了C++中类和对象的中篇内容，重点讲解了命名空间和类的默认成员函数。文章首先解释了命名空间的作用和使用方法，包括命名空间的定义、访问方式和展开方式。然后详细介绍了类的6个默认成员函数，包括构造函数、析构函数、拷贝构造函数等。 对构造函数的讲解涵盖了其特点、默认构造函数的多种形式以及编译器生成规则。析构函数部分强调了资源清理的重要性，并说明了不同情况下析构函数的调用机制。拷贝构造函数部分重点阐述了深拷贝和浅拷贝的区别，特别是对于包含资源管理的类需要实现深拷贝的必要性。 文章还通过栈和队列的]]></description><category></category></item><item><title><![CDATA[构造函数和析构函数]]></title><link>https://blog.youkuaiyun.com/Yyyyyyyyyyyyds/article/details/145691351</link><guid>https://blog.youkuaiyun.com/Yyyyyyyyyyyyds/article/details/145691351</guid><author>Yyyyyyyyyyyyds</author><pubDate>Tue, 18 Feb 2025 16:48:07 +0800</pubDate><description><![CDATA[安全性：避免“忘记释放”导致的内存泄漏简洁性：逻辑封装在类内部，代码更易维护异常安全：即使发生异常，析构函数仍会被调用对新手建议学习C++时，优先用构造函数/析构函数管理资源，而非手动new/delete。这是迈向高质量代码的第一步！通过对比可见，C++的构造/析构机制大幅降低了资源管理的难度。理解这一概念，是掌握C++面向对象编程的关键基石！]]></description><category></category></item><item><title><![CDATA[C++入门小清单]]></title><link>https://blog.youkuaiyun.com/Yyyyyyyyyyyyds/article/details/145641222</link><guid>https://blog.youkuaiyun.com/Yyyyyyyyyyyyds/article/details/145641222</guid><author>Yyyyyyyyyyyyds</author><pubDate>Sat, 15 Feb 2025 15:44:45 +0800</pubDate><description><![CDATA[在上一篇文章中我向大家介绍了关于C++的命名空间的用处以及一些，这篇内容主要是讲解有关C++入门的一些小知识，大家可以通过此文章初步进行一个了解，这些东西在之后的C++学习中都会有更多的妙用，如果有小伙伴感兴趣C++的命名空间，可以点击链接。]]></description><category></category></item><item><title><![CDATA[C++ 命名空间的奥秘]]></title><link>https://blog.youkuaiyun.com/Yyyyyyyyyyyyds/article/details/145575344</link><guid>https://blog.youkuaiyun.com/Yyyyyyyyyyyyds/article/details/145575344</guid><author>Yyyyyyyyyyyyds</author><pubDate>Tue, 11 Feb 2025 20:04:20 +0800</pubDate><description><![CDATA[在 C++ 的初学之旅中，想必大家对“namespace XXX”这样的语法结构并不陌生。可我们静下心来细想，又有多少人真正理解这个“命名空间”背后的用处与奥妙呢？今天，咱们就一起来探索这个看似简单却至关重要的概念，揭开它神秘的面纱。先来看看这“命名空间”到底是从何而来？又为何而生呢？C++ 是在 C 语言的基础上发展而来的，它的出生就是为了给开发者提供更方便、更强大的功能。在古老的 C 语言中，有一条铁的法则：在同一块地盘（即同一作用域）里，绝对不允许出现同名的标识符，比如变量、函数等。]]></description><category></category></item><item><title><![CDATA[排序合集之快排详解（二）]]></title><link>https://blog.youkuaiyun.com/Yyyyyyyyyyyyds/article/details/145539179</link><guid>https://blog.youkuaiyun.com/Yyyyyyyyyyyyds/article/details/145539179</guid><author>Yyyyyyyyyyyyds</author><pubDate>Sun, 09 Feb 2025 23:59:34 +0800</pubDate><description><![CDATA[快速排序是一种在实践中广泛使用的高效排序算法。它基于分治策略，平均时间复杂度为O(n log n)，使其成为处理大型数据集的理想选择。本文将深入探讨快速排序的各种实现方式、优化技巧以及非递归实现，并通过C语言代码示例进行详细讲解。]]></description><category></category></item><item><title><![CDATA[排序合集（一）]]></title><link>https://blog.youkuaiyun.com/Yyyyyyyyyyyyds/article/details/145536987</link><guid>https://blog.youkuaiyun.com/Yyyyyyyyyyyyds/article/details/145536987</guid><author>Yyyyyyyyyyyyds</author><pubDate>Sun, 09 Feb 2025 20:56:32 +0800</pubDate><description><![CDATA[希尔排序是插入排序的一种改进版本，通过引入“增量”来分组排序，减少数据的移动次数。它将待排序的元素分成若干组，每组内的元素间距为某个增量，然后对每组进行插入排序。它的名字来源于其工作方式：通过重复遍历待排序的数列，比较相邻的两个元素，如果顺序错误就交换它们。它的核心思想是：每次从未排序的部分中找到最小（或最大）的元素，放到已排序部分的末尾。直接插入排序是一种简单直观的排序算法，就像我们打扑克牌时的操作：每次摸到一张牌，都会把它插入到手中已排好序的牌的正确位置。经过这一轮后，最大的元素会移动到数列的末尾。]]></description><category></category></item><item><title><![CDATA[相同的树及延伸题型（C语言详解版）]]></title><link>https://blog.youkuaiyun.com/Yyyyyyyyyyyyds/article/details/145355525</link><guid>https://blog.youkuaiyun.com/Yyyyyyyyyyyyds/article/details/145355525</guid><author>Yyyyyyyyyyyyds</author><pubDate>Sat, 25 Jan 2025 17:15:17 +0800</pubDate><description><![CDATA[给你两棵二叉树的根节点p和q，编写一个函数来检验这两棵树是否相同。如果两个树在结构上相同，并且节点具有相同的值，则认为它们是相同的。示例 1：true示例 2：false示例 3：false两棵树上的节点数目都在范围[0, 100]内。]]></description><category></category></item><item><title><![CDATA[二叉树的最大深度（C语言详解版）]]></title><link>https://blog.youkuaiyun.com/Yyyyyyyyyyyyds/article/details/145345693</link><guid>https://blog.youkuaiyun.com/Yyyyyyyyyyyyds/article/details/145345693</guid><author>Yyyyyyyyyyyyds</author><pubDate>Fri, 24 Jan 2025 19:54:10 +0800</pubDate><description><![CDATA[给定一个二叉树root，返回其最大深度。二叉树的最大深度是指从根节点到最远叶子节点的最长路径上的节点数。示例 1：3示例 2：2树中节点的数量在[0, 104]区间内。]]></description><category></category></item><item><title><![CDATA[单值二叉树（C语言详解版）]]></title><link>https://blog.youkuaiyun.com/Yyyyyyyyyyyyds/article/details/145345490</link><guid>https://blog.youkuaiyun.com/Yyyyyyyyyyyyds/article/details/145345490</guid><author>Yyyyyyyyyyyyds</author><pubDate>Fri, 24 Jan 2025 19:25:53 +0800</pubDate><description><![CDATA[如果二叉树每个节点都具有相同的值，那么该二叉树就是单值二叉树。只有给定的树是单值二叉树时，才返回true；否则返回false。示例 1：true示例 2：false给定树的节点数范围是[1, 100]。每个节点的值都是整数，范围为[0, 99]。]]></description><category></category></item><item><title><![CDATA[前k个高频元素]]></title><link>https://blog.youkuaiyun.com/Yyyyyyyyyyyyds/article/details/145282867</link><guid>https://blog.youkuaiyun.com/Yyyyyyyyyyyyds/article/details/145282867</guid><author>Yyyyyyyyyyyyds</author><pubDate>Tue, 21 Jan 2025 14:43:43 +0800</pubDate><description><![CDATA[给你一个整数数组 nums 和一个整数 k ，请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。示例 1:输入: nums = [1,1,1,2,2,3], k = 2输出: [1,2]示例 2:输入: nums = [1], k = 1输出: [1]提示：k 的取值范围是 [1, 数组中不相同的元素的个数]题目数据保证答案唯一，换句话说，数组中前 k 个高频元素的集合是唯一的。]]></description><category></category></item><item><title><![CDATA[堆的实现（C语言详解版）]]></title><link>https://blog.youkuaiyun.com/Yyyyyyyyyyyyds/article/details/145281598</link><guid>https://blog.youkuaiyun.com/Yyyyyyyyyyyyds/article/details/145281598</guid><author>Yyyyyyyyyyyyds</author><pubDate>Tue, 21 Jan 2025 14:16:37 +0800</pubDate><description><![CDATA[（Heap）是一种特殊的完全二叉树，它满足父节点的值总是不大于或不小于其子节点的值。这种数据结构常用于实现优先队列，以及在各种排序算法中快速找到最大或最小元素。和。在最大堆中，父节点的值总是大于或等于子节点的值而在最小堆中，父节点的值总是小于或等于子节点的值。]]></description><category></category></item><item><title><![CDATA[循环队列（C语言）]]></title><link>https://blog.youkuaiyun.com/Yyyyyyyyyyyyds/article/details/145241275</link><guid>https://blog.youkuaiyun.com/Yyyyyyyyyyyyds/article/details/145241275</guid><author>Yyyyyyyyyyyyds</author><pubDate>Sun, 19 Jan 2025 12:54:01 +0800</pubDate><description><![CDATA[从今天开始我会开启一个专栏leetcode每日一题，大家互相交流代码经验，也当作我每天练习的自我回顾。第一天的内容是。]]></description><category></category></item><item><title><![CDATA[0基础leetcode练习（移动零）]]></title><link>https://blog.youkuaiyun.com/Yyyyyyyyyyyyds/article/details/141176599</link><guid>https://blog.youkuaiyun.com/Yyyyyyyyyyyyds/article/details/141176599</guid><author>Yyyyyyyyyyyyds</author><pubDate>Tue, 13 Aug 2024 23:50:43 +0800</pubDate><description><![CDATA[这是的网址，大家可以看完博客的思路去练习一下。给定一个数组nums，编写一个函数将所有0移动到数组的末尾，同时保持非零元素的相对顺序。，必须在不复制数组的情况下原地对数组进行操作。]]></description><category></category></item><item><title><![CDATA[库函数的模拟实现（atoi)]]></title><link>https://blog.youkuaiyun.com/Yyyyyyyyyyyyds/article/details/141114146</link><guid>https://blog.youkuaiyun.com/Yyyyyyyyyyyyds/article/details/141114146</guid><author>Yyyyyyyyyyyyds</author><pubDate>Sun, 11 Aug 2024 23:34:49 +0800</pubDate><description><![CDATA[还是把的网址给大家放在这里啦！]]></description><category></category></item><item><title><![CDATA[移除元素OJ详解]]></title><link>https://blog.youkuaiyun.com/Yyyyyyyyyyyyds/article/details/141114032</link><guid>https://blog.youkuaiyun.com/Yyyyyyyyyyyyds/article/details/141114032</guid><author>Yyyyyyyyyyyyds</author><pubDate>Sun, 11 Aug 2024 23:26:26 +0800</pubDate><description><![CDATA[给你一个数组  和一个值 ，你需要 原地 移除所有数值等于  的元素。元素的顺序可能发生改变。然后返回  中与  不同的元素的数量。假设  中不等于  的元素数量为 ，要通过此题，您需要执行以下操作：用户评测：评测机将使用以下代码测试您的解决方案：
int[] nums = [...]; // 输入数组
int val = ...; // 要移除的值
int[] expectedNums = [...]; // 长度正确的预期答案。
                            // 它以不等于 ]]></description><category></category></item><item><title><![CDATA[库函数的模拟实现（memset、memcmp）]]></title><link>https://blog.youkuaiyun.com/Yyyyyyyyyyyyds/article/details/141098130</link><guid>https://blog.youkuaiyun.com/Yyyyyyyyyyyyds/article/details/141098130</guid><author>Yyyyyyyyyyyyds</author><pubDate>Sat, 10 Aug 2024 23:42:07 +0800</pubDate><description><![CDATA[还是贴上的网址！]]></description><category></category></item><item><title><![CDATA[库函数的模拟实现（qsort）]]></title><link>https://blog.youkuaiyun.com/Yyyyyyyyyyyyds/article/details/141097885</link><guid>https://blog.youkuaiyun.com/Yyyyyyyyyyyyds/article/details/141097885</guid><author>Yyyyyyyyyyyyds</author><pubDate>Sat, 10 Aug 2024 23:19:22 +0800</pubDate><description><![CDATA[在讲qsort函数之前我们先得熟悉一下回调函数,看到回调函数这个名词有些小伙伴可能觉得有点陌生，其实他就是通过函数指针调用的函数。不太清楚函数指针的朋友可以看看我之前写的博客，链接在下方。http://深入探寻指针奥秘之"它们"与指针的爱恨情仇回调函数：如果把函数的指针（地址）作为参数传递给另一个函数，当这个指针被用作调用其所指向的函数时，被调用的函数就是回调函数。]]></description><category></category></item></channel></rss>