logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

数据结构——排序(七)快速排序进阶

三路划分是对传统快排的针对性优化,在重复元素场景下优势明显,而在随机分布的无重复元素场景中,性能与传统快排接近(仅略高常数开销),是一种更通用的快排改进方案。

#数据结构
C++ :STL list 完全指南(从基础操作到特性对比,解锁链表容器高效用法)

这种结构决定了 list 的核心特性:任意位置插入/删除效率高(O(1)),但不支持随机访问(访问元素需要遍历,O(N))。的接口丰富,但重点掌握"构造,迭代器,容量,元素访问,修改’五大类即可满足日常开发需求,以下结合代码示例讲解。的迭代器本质是 “结点指针的封装”,支持正向和反向遍历,核心接口如下(当然也可以使用范围for)前面说过,此处大家可将迭代器暂时理解成类似于指针,非空时使用,若为空会

#c++#开发语言
C++ :手写 List 容器实战(从双向链表原理到完整功能落地,附源码与测试验证)

容器类整合节点与迭代器,提供构造,插入,删除,遍历等核心接口,底层通过调整指针实现高效的操作(参考 string 的"接口复用"思想,如。结论:拷贝构造实现深拷贝(修改 lt1 不影响 lt2),const 迭代器仅支持只读访问,符合设计预期。的类,通过运算符重载模拟指针行为,同时用 “三模板参数” 复用普通 /const 迭代器。节点是存储数据的载体,用模板类实现泛型支持,适配任意数据类型(如。

#链表#数据结构
C++:基于容器适配器模式的 Stack 与 Queue 实现(复用底层容器的优雅设计)

即双端队列,是 STL 中一种双开口的 “连续” 空间数据结构。的核心是 “仅允许栈顶操作”,我们通过模板参数指定底层容器(默认使用 deque,兼顾效率与灵活性),封装其尾操作接口。) 组成 —— 中控器存储着各个缓冲区的地址,通过迭代器的特殊设计,将分段的缓冲区 “拼接” 成逻辑上的连续空间。这种设计的优势在于:无需重复实现内存管理逻辑,直接复用底层容器的成熟功能,同时保持接口的简洁性。:表面

#c++#适配器模式#开发语言
C++:手把手实现 STL Set/Map(从零编写一棵红黑树到完整容器封装)

由于 T 的类型不固定(K 或 pair),红黑树插入 / 查找时无法直接获取 key,需通过仿函数。map支持[]主要修改insert返回值支持,修改RBTree中的insert返回值为。这里实现一下,- - 的话就不展示了,要实现的话还需要额外带一个_root;STL 中 map 和 set 复用同一颗红黑树的核心是。SGI-STL30版本源代码,map和set的源代码在。,平衡维护逻辑与基础

#c++#开发语言
仿 muduo 高并发服务器项目:实现 Any 通用容器并理解 std::any

我定义了一个Testpublic:Test() { std::cout << "构造" << std::endl;Test(const Test &t) { std::cout << "拷贝" << std::endl;~Test() { std::cout << "析构" << std::endl;Any a;Test t;a = t;构造拷贝析构创建局部对象t时输出“构造”执行a = t时,内

#服务器#运维
Linux:6 个 Linux 基础指令的硬核拆解,原理 + 实操一次吃透!

mkdir的工作逻辑是:根据你指定的路径,在对应的位置 “创建一个新的索引文件”,并给这个文件标记 “目录属性”(让系统知道这是文件夹,不是普通文件)。另外,rm-f选项的 “强制删除” 逻辑:如果文件有 “只读权限”(,默认删除会提示 “是否删除只读文件”,用这个就能跳过提示,直接删除 —— 这个参数方便,但也更危险,一定要确认文件可以删再用。在 Linux 里,“文件夹” 本质是一种 “特殊的

#linux#运维#服务器
Linux 进阶指令实操指南:文件查看、时间管理、搜索压缩全场景覆盖(附高频案例)

tail指令从指定点开始将文件写到标准输出,使用tail命令的 -f 选项可以方便的查阅正在改变的日志文件,tail -f filename 会把 filename 里最尾部的内容显示屏幕上,并且不断刷新,使你看到最新的文件内容。就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head用来显示档案的开头至标准输出中,而tail想当然就是看档案的结尾。:查看小文件,小算法,小配

#linux#运维#服务器
Linux:7 个高频指令精讲 + 重定向从入门到精通

功能:为长命令设置简短别名,提升操作效率。完整语法设置:alias 别名=‘命令 [选项]’(等号前后无空格)查看:alias(列出所有别名)删除:unalias 别名取消所有别名案例# 设置别名:ls -alh → ll(显示隐藏文件+详细列表+人性化大小)[root@VM-0-2-centos ~]$ ll # 直接使用total 40Kdrwx------ 5 whb whb 4.0K Oc

#linux#运维#服务器
    共 48 条
  • 1
  • 2
  • 3
  • 4
  • 5
  • 请选择