- 博客(75)
- 收藏
- 关注
原创 Linux:版本控制器Git(第一章)|历史|理解Git|相关git操作|提交冲突解决
本文系统介绍了Git的发展历程、核心原理与基本操作。Git诞生于2005年Linux内核开发危机,Linus Torvalds仅用10天就开发出这个分布式版本控制系统,其革命性设计包括快照机制、SHA-1数据完整性校验等。文章详细解析了Git的本地/远程仓库架构、快照与差异的版本管理区别,并演示了Gitee平台上的基础操作流程(克隆、提交、推送、冲突解决)。Git通过去中心化设计改变了软件开发协作模式,配合GitHub等平台最终成为行业标准工具。
2025-12-21 17:53:51
976
原创 Linux:第一个程序--进度条|区分回车与换行|行缓冲区|进度条代码两个版本|代码测试与优化
从基础知识到代码思路到代码测试,一步步从头介绍了Linux环境下使用make/Makefile实现自动化构建的过程,重点讲解了如何开发一个动态进度条程序。文章首先区分了回车与换行的概念,解释了行缓冲区机制。然后详细演示了进度条开发的迭代过程:从基础版本到加入旋转光标、百分比显示、下载速度监控等功能,最终实现了一个带彩色显示、支持回调函数的完整进度条系统。通过随机速度模拟真实下载场景,展示了进度条与实际任务的结合应用。文中还包含了Makefile编写技巧和代码优化思路,为Linux下的程序开发提供了实用参考。
2025-12-21 12:54:51
930
原创 C++算法入门:二分查找合集(二分查找|在排序数组中查找元素的第一个和最后一个位置)
本文系统介绍了二分查找算法的核心要点和应用场景。首先指出二分算法虽细节繁琐但效率极高,强调理解模板而非死记硬背的重要性。重点讲解了三种模板:朴素二分、查找左边界和右边界模板,通过LeetCode例题详细解析了算法实现和关键细节处理,包括循环条件、中点计算方式及边界条件判断。特别强调了防止数值溢出的中点计算技巧,并分析了不同场景下模板选择的依据。文章还比较了暴力解法和二分查找的效率差异,展示了二分查找在有序数组和满足"二段性"的无序数组中的应用价值。
2025-12-19 22:12:50
619
原创 C++:多态|概念|定义与实现|纯虚函数和抽象类|多态原理(虚函数表指针,虚函数表)
本文详细介绍了C++多态的实现原理与应用。主要内容包括:1. 多态分为编译时多态(静态)和运行时多态(动态),重点讨论运行时多态;2. 实现多态的两个关键条件:基类指针/引用调用虚函数,且派生类完成虚函数重写;3. 虚函数表机制,包含虚函数表指针、虚函数表的结构及其在继承体系中的变化;4. 特殊情况的处理,如协变、析构函数重写、override/final关键字的使用;5. 纯虚函数与抽象类的概念;6. 多态底层原理分析,包括动态绑定与静态绑定的区别。通过实例代码和内存分析,深入讲解了多态的实现机制和注意事
2025-12-19 08:00:00
232
原创 Linux:自动化构建-make/Makefile
本文介绍了Linux开发中Makefile工具的基本概念和使用方法。Makefile通过定义文件间的依赖关系和编译规则实现自动化构建,大幅提升开发效率。文章详细解析了Makefile的工作原理,包括依赖关系、依赖方法、伪目标(.PHONY)的使用,以及如何利用文件修改时间判断是否需要重新编译。同时提供了Makefile的最佳实践,包括变量使用($@,$^)、模式匹配(%.o)等实用语法优化,并展示了如何扩展Makefile支持多文件编译。这些技巧能帮助开发者编写更高效、可维护的构建脚本。
2025-11-28 16:44:48
964
7
原创 Linux:基础开发工具(yum/apt操作|vim概念及使用|编译器gcc/g++|条件编译|库(动/静态链接)
本文介绍了Linux系统中的软件包管理工具yum/apt的具体使用方法,包括软件包的查看、安装和卸载操作。详细讲解了文本编辑器vim的多种模式及切换方式,列举了常用命令模式操作。同时介绍了gcc/g++编译器的编译流程,从预处理到链接的完整过程。文章还涵盖了Linux软件生态相关内容,包括安装源配置、vim配置技巧、条件编译以及动态链接和静态链接的区别。最后对库文件进行了说明,分析了两种链接方式的优缺点。
2025-11-28 16:41:18
798
1
原创 C++算法入门:双指针合集(移动零|复写零|快乐数|盛最多的水)
本文总结了四个常见的双指针算法题解:1.移动零:使用双指针将非零元素前移,零元素后移,时间复杂度O(N);2.复写零:先定位最后一个复写位置,再从后向前处理边界情况并复写;3.快乐数:通过快慢指针判断是否进入1的循环;4.盛水容器:双指针法利用单调性,移动较小高度的指针来寻找最大容量。所有解法均达到线性时间复杂度,展现了双指针技巧在不同场景下的高效应用。
2025-11-17 20:17:53
875
原创 C++:继承(概念及定义|作用域|基类与派生类转换|默认成员函数|与友元、静态成员关系|多继承|组合)
本文详细介绍了C++继承机制的核心概念和应用。主要内容包括:1)继承的基本概念和作用,通过Person/Student/Teacher类示例展示了代码复用;2)继承的访问权限控制和派生类成员函数实现;3)基类与派生类的类型转换关系;4)派生类默认成员函数的实现规则;5)多继承和菱形继承问题及虚继承解决方案;6)继承与组合的设计选择原则。文章通过大量代码示例,系统讲解了C++继承体系的特性和最佳实践,强调在面向对象设计中应优先使用组合而非继承,以降低耦合度。
2025-11-17 20:14:59
1216
2
原创 C++:模板进阶|非类型模板参数|模板特化|模板分离编译|总结
本文介绍了C++模板的进阶使用技巧,主要内容包括: 非类型模板参数的使用场景和限制,以及array容器的优势分析; 模板特化技术,包括函数模板特化和类模板特化(全特化、偏特化),并举例说明对指针类型的特化处理; 模板分离编译问题及其解决方案。文章通过具体代码示例展示了模板在实际开发中的应用,最后总结了模板编程的优缺点,为C++开发者提供了实用的模板进阶知识。
2025-11-11 08:00:00
979
1
原创 C++ STL:stack、queue、deque、priority_queue详解与类模拟实现|力扣OJ|CPU缓存|deque与vector效率对比|仿函数详解|附源码
万字深入探讨了C++ STL中容器适配器的实现原理与应用场景,重点分析了stack、queue和priority_queue的底层机制与模拟实现。文章系统介绍了容器适配器的设计思想,通过模板参数复用已有容器功能,实现了代码的高效复用。详细讲解了deque双端队列的底层结构、优缺点及其作为默认适配器的合理性,并通过实验对比了deque与vector的排序效率。同时,深入阐述了仿函数的原理及其在STL中的多种应用场景,包括优先级队列的大小堆控制、自定义类型比较等。最后,文章还分析了CPU缓存机制对容器性能的影响
2025-11-08 16:25:21
1346
2
原创 C++ STL:阅读list源码|list类模拟|优化构造|优化const迭代器|优化迭代器模板|附源码
本文深入解析了C++中list容器的源码实现与自定义模拟过程。首先分析了标准库list的双向链表结构、哨兵节点及内存管理机制。随后详细演示了list类的模拟实现,包括节点结构设计、循环链表初始化、迭代器封装(支持const迭代器)、常用操作(push_back/pop_back等)实现,以及构造/析构函数的处理。特别优化了迭代器失效问题和现代写法实现拷贝构造,最后通过模板改进支持非常规类型访问。完整呈现了STL list的底层机制与实现技巧。
2025-11-08 08:59:01
978
1
原创 C++ STL:list|了解list|相关接口|相关操作|vector与list效率对比
本文介绍了C++中的list容器及其相关操作。list是带头双向循环链表,支持头插头删但不支持随机访问。文章详细讲解了list的初始化、遍历、插入删除等接口使用,并分析了迭代器分类(单向/双向/随机)及其对算法库函数调用的影响。此外,还探讨了list特有的排序、逆置、去重、合并等操作,并通过性能测试比较了list::sort与vector::sort的效率差异,指出通过vector中转排序更为高效。最后介绍了remove、splice等实用操作。
2025-11-01 21:19:23
913
5
原创 C++ STL:阅读vector类源码|vector类模拟实现(共22小节)|附源码|不安全的位拷贝示例
本文首先分析了STL中vector的源码结构,包括其核心成员变量(三个指针型迭代器)和关键成员函数如构造函数、push_back等。随后详细介绍了vector类的模拟实现过程,包含迭代器定义、容量操作、元素访问、增删改查等功能实现,并重点讨论了迭代器失效问题及其解决方案。文章还涉及深拷贝处理、现代写法优化以及reserve函数中的类型安全问题,最后通过测试用例验证了实现效果。全文结合理论分析与代码实践,深入解析了vector容器的底层原理和实现细节。
2025-11-01 17:18:59
1338
8
原创 C++ STL:了解认识vector|OJ
本文介绍了C++中vector容器的基本用法和实现细节。主要内容包括:1)vector的基本操作,如构造、插入、删除、访问元素等,并提供了自定义打印函数;2)vector的扩容机制,不同编译器下的1.5倍和2倍扩容差异;3)C++11引入的initializer_list初始化方式;4)emplace相关函数的高效插入操作;5)通过两道OJ题目(只出现一次的数字和杨辉三角)展示了vector的实际应用,特别是vector<vector<int>>构建二维数组的方法。文章适合已掌握st
2025-10-31 18:17:29
702
原创 C++ STL:string类拓展|现代写法|SBO|写时拷贝|to_string
文章摘要:本文介绍了C++中string类的现代实现方法,对比了传统写法与现代写法的主要区别。现代写法通过临时对象交换实现拷贝构造和赋值重载,代码更简洁高效。同时探讨了小缓冲区优化(SBO)技术,以及写时拷贝(Copy-On-Write)机制的特点和局限性。最后指出现代编译器已放弃写时拷贝方案,因其在多线程环境下维护引用计数成本高,且C++11引入的移动语义提供了更好的优化方案。
2025-10-31 12:23:09
519
原创 C++ STL:string类(3)|operations|string类模拟实现|附源码
本文万字长文介绍了C++ string类的各种操作及其模拟实现。主要内容包括:1.常见字符串操作如c_str、data、find等;2.string类的模拟实现过程,涵盖构造函数、析构函数、迭代器、插入删除等核心功能;3.实现字符串的深拷贝、运算符重载和流操作;4.优化技巧,如使用memcpy代替strcpy避免\0截断问题,以及swap的实现优化。文章通过代码示例展示了如何从头构建一个功能完整的string类,并解决了实现过程中的常见问题,最后提供了完整的测试用例验证各项功能。
2025-10-30 22:41:03
1365
原创 Linux:权限复盘扩展|粘滞位|软件包管理器|Linux软件生态
本文主要探讨Linux系统中的权限管理与软件包管理两大主题。权限部分详细解析了目录访问权限规则(x决定进入目录,w控制文件增删)、默认权限设置机制(umask掩码作用),以及粘滞位特性(限制文件删除权限)。软件包管理部分介绍了yum/apt等包管理器原理,分析了国内主流镜像站(阿里云、清华等)的特点及配置方法。文章强调操作系统生态建设的重要性,并指出开源模式通过构建生态实现商业价值的核心逻辑。
2025-10-30 20:30:52
649
原创 C++ STL:string(2) |Capacity|Modifiers|operations|OJ练习
本文总结了C++中string类的常用操作和注意事项。主要包括容量管理方法(capacity、reserve、shrink_to_fit等)、修改操作(push_back、append、insert等)以及字符串查找(find、rfind)等功能。文章还通过多个OJ题目示例(如反转字母、首个唯一字符、字符串相加等)展示了string类的实际应用,并指出不同平台下STL实现的差异。特别强调了reserve缩容的不可靠性、shrink_to_fit的时间代价以及头插操作的效率问题。最后提供了使用getline处
2025-10-26 20:13:48
847
原创 C++ STL:string类(1) |了解string|编码|常用接口|迭代器|算法查找|auto|范围for
本文介绍了C++中string类的使用,主要包括:1)对比C语言字符串,string类更符合OOP思想且更安全;2)string类本质是basic_string模板的typedef,支持不同编码格式;3)常用接口如构造、访问、容量操作等;4)迭代器概念及正向、反向迭代器使用;5)auto关键字和范围for循环简化代码;6)string类在STL中的特殊地位及其与容器的关系。文章推荐使用string类而非C字符串,并提供了相关学习资源。
2025-10-25 22:33:25
1198
原创 C++ STL简介:从原理到入门使用指南
摘要:STL(标准模板库)是C++标准库的重要组成部分,提供数据结构和算法的软件框架。其发展历程包括HP原始开源版本、P.J.版本(被Visual C++采用)、RW版本(被C++Builder采用)和SGI版本(被GCC采用,可读性高)。学习STL应遵循"能用、明理、能扩展"的原则。
2025-10-25 10:24:54
193
原创 Linux:权限(完结)|权限管理|修改权限chmod chown charp|文件类型|拓展
本文介绍了Linux系统的权限管理机制,重点讲解了文件权限的设置与应用。主要内容包括:1)Linux权限的基本概念,将用户分为拥有者、所属组和其他三类角色;2)文件权限的读写执行(rwx)属性及其八进制表示法;3)常用权限修改命令chmod、chown和chgrp的使用方法;4)Linux文件类型识别,特别是目录的x权限对进入目录的影响;5)权限管理的实际应用场景,如root用户不受普通权限限制、目录权限对文件操作的影响等。文章通过具体示例说明了Linux权限系统的运作原理和实际管理技巧。
2025-10-24 21:38:22
713
原创 C++:模板入门
文章摘要:本文介绍了C++中的泛型编程和模板技术,重点讲解了函数模板和类模板的概念及使用。函数模板通过参数化类型实现代码复用,包含隐式和显式实例化方式,并讨论了模板参数匹配原则。类模板部分则阐述了定义格式和实例化方法,指出类模板名称需配合实例化类型使用。文章还比较了模板与普通函数的区别,强调模板技术对代码复用性和可维护性的提升作用。
2025-10-24 11:56:47
918
原创 C++:内存管理 |内存分布|回顾|new/delete底层|实现原理|拓展|定位new|池化技术|总结区别对比
本文详细讲解了C/C++程序的内存分布与动态内存管理。内存分为栈、堆、静态区和常量区等区域,不同变量的存储位置由其类型决定。C语言通过malloc/calloc/realloc/free管理堆内存,C++则通过new/delete操作符实现更安全的内存管理。new/delete会自动调用构造/析构函数,而malloc/free仅负责内存分配。文章还探讨了内存池技术、operator new/delete的实现原理,并对比了malloc/free与new/delete的关键区别,包括初始化、异常处理和类型安全
2025-10-19 18:10:24
904
2
原创 C++:类和对象(完结)|static|友元|内部类|匿名对象|编译器优化
本文介绍了C++中静态成员、友元和内部类的特性。静态成员变量属于类共享,需在类外初始化;静态成员函数无this指针,只能访问静态成员。友元机制可突破类封装限制,包括友元函数和友元类,但会破坏封装性。内部类是定义在类内部的独立类,默认是外部类的友元类。文章还讨论了匿名对象的使用和编译器对对象拷贝的优化机制,包括返回值优化(RVO)等技术。这些特性在提高代码灵活性的同时,也需要注意合理使用以避免破坏封装原则。
2025-10-19 12:47:33
866
原创 Linux基础指令(完结)、shell命令与Linux权限(1) |tar|bc|uname|热键|shutdown|shell|权限
本文介绍了Linux系统中常用的命令和操作技巧,包括:1. tar压缩解压指令及参数详解;2. Linux机器间文件传输的scp命令;3. bc计算器指令和系统架构查询;4. uname查看系统信息命令;5. 常用热键功能;6. 关机注意事项;7. Shell运行原理及作用;8. Linux权限管理和用户切换方法。文章详细说明了各命令的语法、参数和使用场景,并解释了Shell作为命令行解释器的工作机制,以及普通用户与root用户的区别和切换方式。
2025-10-18 21:31:39
878
原创 C++:类和对象(3)|初始化列表|类型转换
本文介绍了C++构造函数的初始化列表用法及其重要性。主要内容包括:1.初始化列表与函数体内赋值的区别,初始化列表位于冒号后,以逗号分隔成员变量;2.引用、const成员及无默认构造的类类型必须使用初始化列表;3.C++11支持成员变量声明时给缺省值;4.建议优先使用初始化列表显示初始化,避免未定义行为;5.初始化顺序与声明顺序一致,与列表顺序无关;6.介绍了内置类型与类类型的隐式转换规则,及explicit关键字禁用隐式转换的功能。文章强调正确使用初始化列表能确保成员变量正确初始化,避免潜在问题。
2025-10-18 21:31:27
973
原创 Linux:基础指令(3)|cat|more|less|head|tail|date|cal|find|which|whereis|alias|grep|top|zip/unzip指令|两系统互传文件
本文介绍了Linux系统中常用的文件操作指令,包括查看文件内容的cat、more、less指令,查找文件头尾的head、tail指令,以及文件查找工具find、which、whereis等。此外,还讲解了时间日期相关指令date、cal,以及文件压缩解压工具zip/unzip的使用方法。文章详细说明了各指令的语法、功能选项和典型应用场景,如管道操作、时间戳转换、日志分析等,并提供了Linux与Windows系统间文件互传的解决方案。这些指令是Linux系统管理和文件操作的基础工具,适合开发者和系统管理员学习
2025-10-17 21:24:51
932
原创 Linux:基础指令(2)|前言|man|理论|echo|cp|mv|思考
本文深入解析了Linux命令的本质,指出命令实际上是特定路径下的可执行文件,并通过which命令验证了这一点。文章详细介绍了man指令的使用方法,解释了man手册的章节划分,阐述了"Linux中一切皆文件"的核心概念(包括设备都被视为文件)。重点讲解了文件操作相关指令,包括echo、重定向(>、>>、<)、cat、cp和mv命令的使用方法,并揭示了标准输入/输出/错误(stdin/stdout/stderr)与硬件设备的对应关系。文章还通过C语言文件操作的角度,解
2025-10-17 16:06:58
966
原创 C++:计算年月日时间差 | 附源码
摘要:本文详细介绍了如何用C++实现一个日期类(Date)。内容涵盖:1) 类设计采用头文件/源文件分离结构;2) 核心功能包括日期计算、闰年判断、运算符重载等;3) 重点算法如日期加减处理跨月/跨年边界情况;4) 完整测试用例验证功能正确性。项目体现了C++面向对象特性(封装、运算符重载等),并讨论了设计抉择(如错误处理方式)和优化方向。通过这个实践项目,读者可掌握C++类设计、日期计算算法和健壮性编程技巧。
2025-10-06 00:14:27
858
原创 C++:类和对象(2)|默认成员|构造|析构|拷贝构造|日期类代码实现|赋值/取地址运算符重载
本文详细介绍了C++类的默认成员函数,包括构造函数、析构函数、拷贝构造函数和赋值运算符重载等核心概念。重点讲解了构造函数的特点、类型(无参/带参/全缺省)及其初始化机制,析构函数的作用与自动调用规则,以及拷贝构造函数的深浅拷贝问题。同时深入解析了运算符重载的语法规则、const成员函数和取地址运算符重载的应用场景,并通过日期类和栈类的具体实现示例展示了这些概念的实际应用。文章还对C++11新增的移动构造和移动赋值进行了简要提及,为理解C++类的核心机制提供了全面指导。
2025-10-06 00:13:45
748
1
原创 Linux:基本指令(1)
本文介绍了Linux系统的基本文件操作指令及其相关概念。主要内容包括:1. 常用指令功能:ls(列出目录内容)、pwd(显示当前路径)、cd(切换目录)、touch(创建/修改文件时间)、mkdir(创建目录)和rm/rmdir(删除文件/目录);2. 文件系统概念:解释了文件属性与内容的区别、路径的唯一性作用以及绝对路径与相对路径的区别;3. 操作注意事项:特别警告了"rm -rf /"命令的危险性,强调其可能导致系统崩溃。文章通过具体语法和示例,帮助读者理解Linux文件系统的基本操
2025-10-02 06:30:00
804
原创 C++:类和对象(1)
文章摘要: 本文详细讲解了C++类的定义、实例化和this指针等核心概念。主要内容包括:1.类定义格式、访问限定符(public/private/protected)和类域作用;2.类实例化过程,对象大小计算规则;3.this指针的原理和使用场景;4.通过练习题目分析空指针调用成员函数的行为差异;5.对比C和C++实现Stack的代码差异,展示C++封装特性带来的优势。文章通过代码示例和内存分析,帮助读者理解C++面向对象编程的基础机制,特别是类成员访问控制、对象内存布局和this指针的隐式传递机制。
2025-09-24 05:00:00
898
1
原创 Linux:初识
Linux发展历程与现状摘要 Linux起源于1991年Linus Torvalds开发的类UNIX系统,经过30年发展已成为主流操作系统。作为开源软件代表,Linux基于GPL协议,允许自由使用和修改源代码。目前Linux在服务器市场占据75%份额,广泛应用于政府、金融等领域;在移动端表现为Android系统(占84.6%市场份额);在云计算、大数据领域也有86%的企业采用。主要发行版包括Debian、Ubuntu、CentOS等,各具特色。尽管桌面系统与Windows仍有差距,但Linux凭借开源优势、
2025-09-21 13:51:00
1191
1
原创 C++:入门基础(2)
本文主要介绍了C++中的缺省参数、函数重载、引用、内联函数和nullptr等特性。缺省参数可为函数形参指定默认值,分为全缺省和半缺省;函数重载允许同名函数存在,但参数类型或数量需不同;引用是变量的别名,通过引用传参可提高效率;内联函数用于替代C的宏函数,在编译时展开;nullptr是C++11引入的空指针常量,解决了NULL可能引发的问题。此外还讨论了const引用、指针与引用的区别等内容,帮助理解C++的这些重要特性。
2025-09-21 13:15:34
811
1
原创 数据结构:二叉树OJ
本文主要介绍了二叉树的相关知识,包括选择题和算法题两部分。选择题部分通过例题讲解了二叉树的性质、结点计算和遍历序列等概念。算法题部分提供了单值二叉树、相同树、对称二叉树、子树判断等问题的递归解法,以及前序、中序、后序遍历的实现代码。最后还给出了构建二叉树并进行中序遍历的完整代码示例。全文通过具体实例帮助理解二叉树的各种操作和应用。
2025-09-20 23:58:45
1180
原创 C++:入门基础(1)
C++ 发展:1979 年始研,1983 年定名,1998 年首标;C++23 缺网络库参考文档:非官方legacy.cplusplus.com、官方en.cppreference.com重要性:提 TIOBE 榜(25 年 9 月);含系统开发、音视频等应用学习建议:“二十一天精通” 梗,强调坚持首个程序:.cpp 后缀,Linux 用 g++;提 C++ 原生 IO命名空间:解命名冲突,讲三种使用方式输入输出:用<iostream>,cin/cout/endl 属 std,自动识类型
2025-09-18 23:43:15
1204
原创 数据结构:树及二叉树--堆(下)
本文主要介绍了二叉树相关算法与应用。首先分析了向上调整和向下调整两种建堆算法的时间复杂度(分别为O(nlogn)和O(n))。然后探讨了Top-K问题的解决方案,提出使用堆结构比排序更高效。详细讲解了链式二叉树的实现方式,包括前序、中序、后序遍历的实现原理和代码。最后介绍了二叉树的各种操作:计算结点个数、求深度、查找结点、销毁二叉树,以及层序遍历和判断完全二叉树的方法。文章通过代码示例和递归分析,系统性地阐述了二叉树的核心算法和应用场景。
2025-09-18 22:05:40
1340
1
原创 数据结构:树及二叉树--堆(上)
本文介绍了树和二叉树的基本概念、存储结构及实现。主要内容包括:1.树的基本概念、术语和表示方法;2.二叉树的特点、分类(满二叉树和完全二叉树)及性质;3.二叉树的顺序和链式存储结构;4.堆的概念、实现及其应用,包括初始化、插入、删除等操作;5.堆排序的两种实现方式:通过现有堆数据结构和直接使用堆思想。文章详细讲解了树形结构的特性和应用,重点介绍了堆的实现及其在排序中的应用,为数据结构学习提供了基础内容。
2025-09-09 17:17:42
880
1
原创 数据结构:栈和队列力扣算法题
本文介绍了三种常见数据结构转换的实现方法:1. 用队列实现栈(LeetCode 225题):通过两个队列相互倒换数据,实现栈的先进后出特性。关键思路是入栈时选择非空队列插入,出栈时将前n-1个元素转移到另一队列后弹出最后一个元素。2. 用栈实现队列(LeetCode 232题):使用两个栈(pushST和popST),入队直接压入pushST,出队时若popST为空则将pushST元素全部倒入popST再弹出。3. 循环队列设计(LeetCode 622题):通过数组实现固定大小的环形队列,使用front和
2025-09-05 20:48:33
585
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅