logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

C++ 手写 priority_queue

在 C++ STL 中,priority_queue 是一个非常常用的容器适配器。它可以让我们快速获取当前优先级最高的元素。默认情况下,STL 的 priority_queue 是一个 大堆,也就是每次 top() 取到的都是最大值。本文我们不直接使用 STL 的 priority_queue,而是自己手写一个简化版本,理解它背后的核心原理:堆。

#c++#开发语言
C/C++ 内存管理详解:从内存分布到 new/delete 原理

在学习 C/C++ 的过程中,内存管理是绕不开的核心知识。栈、堆、静态区到底有什么区别?malloc 和 new 到底差在哪?为什么 delete[] 不能写成 delete?new 底层到底做了什么?如果这些问题没有形成完整体系,后面学习 STL、智能指针、内存池、操作系统时会越来越混乱。这篇文章将系统梳理整个知识链路,帮助你真正建立对内存管理的整体认知。

#c语言#c++
C++ STL 中 map 和 set 的使用详解

本文详细介绍了C++ STL中map和set的使用方法。map和set属于关联式容器,底层通常采用红黑树实现,具有O(logN)的插入、删除和查找效率。set是只存储key的容器,自动去重且默认升序排序;map存储key-value键值对,key不允许重复且默认按key升序排序。文章详细讲解了set/map的构造、遍历、插入、查找和删除操作,并介绍了multiset与set的区别(允许重复元素)。

#c++#数据结构
C/C++ 内存管理详解:从内存分布到 new/delete 原理

在学习 C/C++ 的过程中,内存管理是绕不开的核心知识。栈、堆、静态区到底有什么区别?malloc 和 new 到底差在哪?为什么 delete[] 不能写成 delete?new 底层到底做了什么?如果这些问题没有形成完整体系,后面学习 STL、智能指针、内存池、操作系统时会越来越混乱。这篇文章将系统梳理整个知识链路,帮助你真正建立对内存管理的整体认知。

#c语言#c++
到底了