自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++ STL unordered_map/set 实现

本文实现了一个C++哈希表模板类Hash,支持键值对(K-V)和键(K)两种存储方式。通过GetK仿函数解决K-V查找问题,使用variant处理不同容器类型。实现了插入、查找、删除等基本操作,支持负载因子控制和扩容机制。在此基础上封装了unordered_map和unordered_set接口。迭代器实现采用桶指针+桶内迭代器的方式,支持遍历操作。最后通过variant解决了const迭代器构造问题。代码实现了哈希表的核心功能,包括冲突处理、动态扩容等特性,可作为STL容器的替代实现。

2025-12-22 15:25:10 873

原创 C++ inline内联

inline不止于函数展开优化

2025-12-17 00:36:41 801

原创 C++ 哈希表

本文详细介绍了哈希表的原理与实现方法。首先解释了哈希表的基本概念,即通过哈希函数将键映射到数组下标来存储数据。文章分析了常见的哈希冲突处理方式,包括开放定址法(线性探测、二次探测)和链地址法,并提供了相应的C++实现代码。针对链地址法的优化,提出了当链表过长时转换为红黑树的方案。此外,还介绍了负载因子概念和扩容机制,以及除法散列法、乘法散列法等哈希函数设计方法。文章通过丰富的代码示例展示了如何实现一个高效的哈希表,包括使用C++17的variant处理不同类型容器,以及多种访问方式的比较。

2025-12-15 15:13:40 930

原创 Linux - 进程

摘要:本文详细介绍了进程的基本概念和管理机制。进程是程序运行的实体,由内核数据结构(task_struct)和代码数据组成。操作系统通过进程控制块(PCB)管理进程,记录标识符、状态、优先级等信息。文章解析了进程创建(fork)、状态(R/S/D/T/Z/X)、优先级调整(nice值)等核心机制,并讨论了僵尸进程和孤儿进程的危害及处理方式。同时阐述了进程地址空间的虚拟内存管理机制,包括页表映射、写时拷贝和内存保护功能。最后介绍了环境变量的作用和管理方法,以及命令行参数的处理原理。

2025-09-14 16:26:54 1000

原创 Linux - 基础开发工具

本博客会讲解yum/apt、vim、gcc/g++、Makefile这几个常用的基础开发工具。

2025-09-08 17:03:28 946

原创 高并发内存池项目

内存池池化技术是一种通过预先申请过量资源来提高程序运行效率的技术。它通过减少系统调用次数,有效解决了内存碎片问题(包括外碎片和内碎片)。典型的实现包括定长内存池、高并发内存池等。 高并发内存池采用三层架构: ThreadCache:线程独享,无需加锁 CentralCache:共享资源,采用桶锁 PageCache:以页为单位管理,可合并相邻页 该项目通过基数树优化了内存映射查询,相比哈希表减少了锁竞争。测试表明,在适度线程数下性能接近malloc,但在高并发时仍有优化空间。内存池技术能有效提升内存分配效率

2025-09-03 19:16:54 636 1

原创 linux - 权限的概念

本文介绍了Linux系统中的用户权限和文件权限管理。Linux用户主要分为超级用户(root)和普通用户,超级用户拥有最高权限,而普通用户权限受限。通过命令如su、sudo等,用户可以在不同权限间切换。此外,文章还详细讲解了用户和用户组的管理,包括创建、删除用户和用户组,以及如何将用户添加到用户组。文件权限部分,解释了文件类型、访问者类别和基本权限(读、写、执行),并介绍了如何通过chmod、chown、chgrp等命令修改文件权限和所有者。最后,提到了权限掩码和粘滞位的概念,以及目录权限的重要性。

2025-05-14 19:30:31 894

原创 Linux - 基础指令

学习Linux操作系统时,掌握命令行指令是至关重要的,因为许多工作环境可能不提供图形界面。指令的熟练使用可以显著提高操作效率,远超图形界面的鼠标操作。本文介绍了Linux命令的基本结构,如命令+选项+其他,并通过常用命令如ls、pwd、cd、touch、mkdir、rm、cp、mv、cat、more、less、head、tail、find、which、alias、grep、zip/unzip、rz/sz、tar等的使用示例,帮助读者理解并掌握这些基础命令。为深入学习Linux打下坚实基础。

2025-05-14 16:36:29 764

原创 封装红黑树实现map和set

对map和set的实现,详细讲解

2025-01-10 17:42:20 916 3

原创 C++ 红黑树

红黑树详解

2025-01-09 17:29:48 614

原创 C++ STL map和set的使用

详解c++stl的map系列和set系列

2025-01-08 22:24:56 907

原创 AVL搜索树

细节十分多的AVL树

2025-01-07 10:15:00 1843

原创 二叉搜索树(Binary Search Tree)

对搜索二叉树进行详细的讲解

2025-01-03 09:00:00 1052

原创 二叉树的一些题目

二叉树的一些题

2024-10-22 09:53:41 782 1

原创 c++ 多态

对多态进行详细讲解

2024-10-22 09:42:18 1104

原创 Linux操作系统 初识

那么在最开始的时候,计算机的运算速度慢,科学家需要排队一个一个来操作计算机并等待计算结果,然后轮到下一个人。但随着。

2024-09-08 23:09:36 1522

原创 C++ 继承

详细讲解继承(继承格式、父子兼容转换、作用域、切片、隐藏、子类默认成员函数、无法继承类、继承与友元、继承与静态成员、多继承、多继承指针偏移、多继承内部成员内存的分配、菱形继承问题、虚继承、虚继承解决菱形问题、io库菱形继承、继承和组合)

2024-09-08 17:27:41 1618

原创 C++ 模板进阶

模板非模板参数,特化以及模板只能写在.h里面的原因介绍

2024-08-25 23:43:02 913

原创 C++ 适配器 priority_queue(优先级队列)

优先级队列(堆)的详细介绍。包括堆介绍,优先级队列函数的介绍,建堆算法分析,优先级队列的实现

2024-08-25 12:00:00 771

原创 C++ 适配器 queue

queue的结构讲解,函数讲解,和queue的实现

2024-08-17 17:47:05 529

原创 C++ 容器 deque(双端队列)

deque的结构讲解,函数讲解,自我实现

2024-08-17 16:26:37 968 2

原创 C++ 适配器 stack

适配器stack的讲解和实现

2024-08-13 22:26:45 521

原创 C++ 适配器

适配器的讲解,举例,总结

2024-08-13 17:06:11 344

原创 C++ 容器 list

从list结构简单讲解,list的相关函数介绍及使用,list的简单实现来讲解list。

2024-08-11 23:21:53 950

原创 C++ 仿函数

仿函数的优点和使用

2024-08-11 17:16:55 339

原创 c++ 容器 vector

vector的原理,函数使用及实现

2024-08-04 23:27:41 1012

原创 c++ 初始值设定项列表(initializer_list)

initializer_list的介绍,使用。

2024-08-04 17:28:10 1228

原创 c++ string解析及其实现

string 的使用,string内外函数的讲解,string的实现

2024-08-02 16:20:13 947

原创 c++迭代器的介绍

讲解迭代器使用,分类,和大致底层的实现。

2024-07-31 12:00:00 879

原创 c++ 类模版初阶

模板初阶

2024-07-28 16:39:45 927

原创 c++ 内存管理(new&delete&delete[])

new,delete,delete[]的用法,底层逻辑,和delete、delete[]区别说明;然后是内存申请失败的处理方案

2024-07-25 23:56:38 483 1

原创 c++ 类 (要学习类这一篇就够了 )

用 9159 个字详细讲解c++的类。值得一看。

2024-07-25 18:18:36 7295 7

原创 c++ 之引用

c++在指针的基础上添加了引用,祖师爷本贾尼博士既然要创建这个语法,说明指针一定有不足之处。

2024-07-24 12:00:00 465

原创 快排优化(继三数取中、插入排序优化后的再优化)

快排的进一步优化,包括三路分化,和自省排序(cpp里面sort函数的写法)

2024-07-18 22:44:29 980 3

原创 归并排序和磁盘里的归并

内存里面的归并(递归、非递归),文件里面的归并。

2024-07-18 17:04:45 1313 1

原创 大小端详解

大小端详细解读到通过两方法判断大小端

2024-07-09 23:36:24 379 1

原创 c++语法之函数重载

函数重载详解

2024-07-09 20:21:19 521 1

原创 c++语法之缺省参数

缺省参数详解

2024-07-08 21:51:05 587 5

原创 c++之命名空间详解(namespace)

详细解说namespace的语法,彻底掌握它的用处,为函数、变量和类的熟练使用做铺垫

2024-07-08 21:24:40 1871 6

原创 数据结构之链表

链表的结构,是否带头,是否循环,是否双向六中结构讲解,以及链表的用途,缺点

2024-07-07 23:47:58 631 1

空空如也

空空如也

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

TA关注的人

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