自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 STL --C++哈希表封装unordered_map/set

本文介绍了哈希表(unordered_map/unordered_set)的实现方案,采用链地址法处理冲突 核心设计包含:1. 哈希节点(HashNode)的单链表结构;2. 支持整型和字符串的哈希仿函数(HashFunc);3. 迭代器(HTIterator)实现跨桶遍历;4. 哈希表(HashTable)主体结构,包含插入、查找、删除等操作和扩容机制;5. unordered_map和unordered_set的封装实现。文章还解答了8个关键面试问题,包括冲突解决方法、负载因子选择、迭代器复杂度分析等

2026-07-16 17:17:27 377 17

原创 STL -- C++ 红黑树封装 Map 和 Set

红黑树是一种自平衡的二叉搜索树,每个节点增加一个存储位表示颜色(红或黑)。通过对任何一条从根到叶子的路径上各个节点着色方式的限制,红黑树确保没有一条路径会比其他路径长出两倍,因而是近似平衡的。红黑树的核心性质与调整逻辑迭代器的设计与实现模板与仿函数在容器封装中的应用RAII资源管理的必要性--内存关系STL 容器的标准接口设计规范。

2026-07-11 17:57:57 529 17

原创 AVL树 基本操作 C++ 实现

本文介绍了AVL树的实现思路与核心操作。AVL树作为自平衡二叉搜索树,通过平衡因子(右子树高-左子树高)和四种旋转操作(LL/RR/LR/RL)保持严格平衡。实现要点包括:1)三叉链节点结构(含父指针);2)插入时从新节点向上更新平衡因子,当|bf|=2时触发旋转;3)旋转需正确处理指针链接和平衡因子重置。相比红黑树,AVL树查询效率更高但维护成本较大,适用于读多写少场景。文中提供了插入、旋转等核心代码实现,并总结了平衡因子调整规则和面试常见考点,包括旋转类型判断、性能对比等关键问题

2026-06-21 20:51:59 672 21

原创 C++继承与多态知识点及其高频面试问题

继承用于 is‑a 关系,注意访问控制和构造函数调用顺序多态通过虚函数实现,基类析构函数需为虚区分重载、隐藏、重写(覆盖)抽象类用于定义接口,纯虚函数强制派生类实现面试常问虚函数实现原理、虚表位置、构造函数中能否调用虚函数等我的gitee仓库。

2026-06-12 20:52:32 445 17

原创 C++ 模板核心内容与高频面试题汇总

A:针对部分模板参数进行特化。例如是针对指针类型的偏特化----其他参数保持原来不变A:模板在定义时对非依赖名称进行第一轮查找(不依赖模板参数),在实例化时对依赖名称进行第二轮查找。

2026-06-08 12:14:13 377 5

原创 STL-- C++ stack_queue _priority_queue类 模拟实现

最近学习了 STL 中的三种容器适配器,并亲手实现了它们的简化版本。这篇文章记录实现细节、易错点以及核心思想--具体内容可见代码注释部分。

2026-06-03 14:43:17 395 5

原创 STL-- C++ list类 模拟实现

哨兵节点、双向循环、迭代器封装、深拷贝 一个个坑踩过来。这篇文章记录我的实现思路和踩坑点(代码注释中详细标注),方便自己以后复习,也希望能帮到正在学容器底层的你。

2026-05-27 18:20:05 464 14

原创 STL-- C++ vector类 模拟实现

pod即内置类型 自定义类型中不包含指针作为成员变量的 如日期类POD类型:包括基本类型(如int、char)、数组、以及只包含POD成员的struct/class。这些类型的内存表示就是数据本身,没有内部指针指向外部资源。因此,用memcpy直接逐字节复制是安全的,复制后两个对象完全独立,不会产生资源中突。非pod则指自定义类型中包含指针作为成员变量的 如string类非POD类型:例如string、vector以及任何管理动态内存的类。它们的内部通常包含指针成员,指向堆上分配的资源。

2026-05-24 15:08:25 770 12

原创 Linux 安装与入门常见问题

Linux 的学习曲线虽然略陡,但只要迈过安装这道坎,熟悉基本命令,再慢慢探索那些有趣的小工具,逐渐就产生兴趣了。

2026-05-19 17:03:39 935 13

原创 STL -- C++ string 类 模拟实现

标准库的用起来很方便,但你真的了解它背后的内存管理、深拷贝、写时拷贝、迭代器、动态扩容吗?为了彻底搞懂这些底层机制,我造了一个自己的string类 —— 取名为。从构造、析构、拷贝、赋值,到增删改查、迭代器、流输入输出这篇文章会完整记录我的实现细节、踩过的坑(都已经在代码注释里标注出来了),以及最终跑通测试时的快感。希望也能帮你把 C++ 对象的生命周期和运算符重载看得更通透。

2026-05-17 21:00:00 609 9

原创 初阶模板(C++)

所以其实模板就是将本来应该我们做的重复的事情交给了编译器在编译器编译阶段,对于模板函数的使用,编译器需要根据传入的实参类型来推演生成对应类型的函数以供调用。比如:当用double类型使用函数模板时,编译器通过对实参类型的推演,将T确定为double类型,然后产生一份专门处理double类型的代码,对于字符类型也是如此。//函数匹配原则1. 一个非模板函数可以和一个同名的函数模板同时存在,而且该函数模板还可以被实例化为这个非模板函数。类型放在<>中即可,类模板名字不是真正的类,而实例化的结果才是真正的类。

2026-05-05 15:32:42 530 8

原创 C/C++内存管理基本知识汇总

int main()// new/delete 和 malloc/free最大区别是 new/delete对于【自定义类型】除了开空间//还会调用构造函数和析构函数//会调用构造函数free(p1);delete p2;//会调用析构函数// 内置类型是几乎是一样的// C//free(p3);free(p5);return 0;

2026-05-04 16:55:03 683 4

原创 日期计算器实现详解(C++ 运算符重载练习)

这个日期计算器虽然功能简单,但覆盖了 C++ 类设计的多个核心知识点:构造函数、成员函数、运算符重载、友元、const 修饰。通过亲手实现,可以更深刻地理解运算符重载的语法和语义,也能体会到 C++ 让自定义类型融入语言生态的魅力。如果你也想练习,可以试着优化日期差值的算法(直接用数学公式),或者添加流式输出的更多格式控制。希望这篇博客对你以后的复习有所帮助!

2026-05-02 12:01:58 661 13

原创 C++前置知识梳理

• 定义命名空间,需要使⽤到namespace关键字,后⾯跟命名空间的名字,然后接⼀对{}即可,{}中即为命名空间的成员。命名空间中可以定义变量/函数/类型等。• namespace本质是定义出⼀个域,这个域跟全局域各⾃独⽴,不同的域可以定义同名变量,所以下⾯的rand不在冲突了。• C++中域有函数局部域,全局域,命名空间域,类域;域影响的是编译时语法查找⼀个变量/函数/类型出处(声明或定义)的逻辑,所有有了域隔离,名字冲突就解决了。局部域和全局域除了会影响。

2026-04-27 22:49:01 598 12

原创 《直接插入到计数排序:10 种排序算法详解(附代码)》

排序算法是每个程序员的基本功,也是面试高频考点。这次我把常用的 10 种排序算法从头梳理了一遍:直接插入、希尔、直接选择、堆排序、冒泡、快速排序(三种划分方式及非递归)、归并排序(递归与非递归)以及计数排序。每篇代码都已经实现并通过测试,本文只讲最核心的思路、关键点与复杂度,方便随时回顾。如果你也需要一个快速捡起来的笔记,顺着看下去就好。

2026-04-25 22:52:09 980 14

原创 二叉树 12 种基本操作:从构建到销毁的完整笔记-C语言

这篇博客是我自己复习用的“操作手册”,涵盖了二叉树从诞生到消亡的:从最基础的四种遍历、到节点统计、再到层序和完全二叉树的判定,最后以销毁收尾。每一个操作我都附上了代码的核心思路和关键注释,方便日后快速捡起来。如果你是第一次接触二叉树,建议按顺序阅读,体会递归在树结构中的妙用;如果你是来查缺补漏的,可以直接跳转到表格里对应的操作。话不多说,我们开始。

2026-04-20 15:53:24 915 11

原创 《一个数据结构,两个经典问题:堆排序与 Top‑K 解法详解》

求海量数据中最大 / 最小的 K 个元素。

2026-04-17 21:11:44 474 10

原创 用一篇大白话文章搞懂基本数据结构的“堆”,助力深度学习------本文使用C语言适合初学者

堆(Heap)是计算机科学中一类特殊的数据结构的统称。堆通常是一个可以被看做一棵。

2026-04-15 23:01:11 722 6

空空如也

空空如也

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

TA关注的人

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