自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【C++】封装红黑树模拟实现set和map

本文介绍了如何基于红黑树封装实现STL中的set和map容器。主要内容包括:1. 改造红黑树模板,使其支持set和map的复用,通过模板参数和仿函数解决数据类型差异;2. 实现双向迭代器,包括++、--操作符重载,处理中序遍历顺序;3. 实现map的[]操作符,结合插入功能返回对应value;4. 完整实现查找、插入等接口,并处理const迭代器问题。通过封装红黑树作为底层结构,成功模拟了set和map的核心功能,展现了STL容器的设计思想。

2025-07-12 23:57:12 775 21

原创 【C++】红黑树的实现

本文深入讲解了红黑树的概念、实现及验证。红黑树是一种自平衡二叉搜索树,通过颜色约束规则确保最长路径不超过最短路径的2倍。文章详细介绍了红黑树的插入操作,包括变色、单旋和双旋等调整方法,并提供了完整的C++实现代码。通过对比AVL树,展示了红黑树在平衡性和效率上的优势。最后还介绍了红黑树的验证方法,确保其符合所有规则。红黑树的删除操作相对复杂,本文未作实现,但提供了相关参考书籍。

2025-05-25 01:17:54 3103 12

原创 【C++】异常

本文详细介绍了C++中的异常处理机制,包括异常的概念、抛出和捕获、栈展开、查找匹配的处理代码、异常的重新抛出、异常的安全问题、异常规范以及标准库的异常。异常处理机制允许程序在运行时检测并处理问题,将问题的检测与解决过程分离。通过try和catch块,程序可以捕获并处理异常,避免程序因未处理的异常而终止。文章还探讨了异常的安全性问题,如资源泄漏,并介绍了C++11中的noexcept关键字用于声明函数不会抛出异常。最后,文章提到了C++标准库中的异常继承体系,

2025-05-16 01:49:07 1174 30

原创 【C++】AVL树实现

本文详细介绍了AVL树的概念、实现及其自平衡机制。AVL树是一种自平衡二叉搜索树,通过控制左右子树的高度差来保证查找效率。文章首先介绍了AVL树的基本概念和平衡因子的作用,接着详细讲解了AVL树的插入操作,包括平衡因子的更新和四种旋转操作(右单旋、左单旋、左右双旋、右左双旋)的实现。此外,文章还介绍了AVL树的查找、平衡检测和删除操作,并通过代码示例展示了如何实现这些功能。

2025-05-11 15:55:14 1487 31

原创 【C++】set和map的使用

本文主要讲述STL容器中的map和set的使用。

2025-04-21 00:16:18 1169 43

原创 【C++】二叉搜索树

学习二叉搜索树是为了给后面学习AVL树和红黑树打基础的,因此还是比较重要的。

2025-04-02 17:51:03 753 22

原创 【C++】多态

本文主要讲述C++中的多态,涉及的概念有虚函数、协变、纯虚函数、抽象类、虚表指针和虚函数表等。首先是继承。多态是一个继承关系的下的类对象,去调用同一函数,产生了不同的行为。

2025-03-21 18:28:38 1064 48

原创 【C++】继承

本文主要讲解C++的继承,概念偏多,包括继承的定义,转换,隐藏关系,还有派生类的默认成员函数,继承与友元还有静态成员的关系,菱形继承与虚继承等。

2025-03-15 18:04:58 1209 36

原创 【C++】模版进阶

对模版初阶的一些内容进行补充,有模版的特化和为什么模版不支持分离编译的原因。

2025-03-09 14:32:00 883 28

原创 【C++】stack和queue以及priority_queue的使用以及模拟实现

本文主要介绍C++【STL】中的栈(stack)和队列(queue)以及优先级队列(priority_queue),在栈和队列模拟实现的中会了解到deque(双端队列),还有优先级队列的模拟实现过程中了解到仿函数的实现与使用。内容丰富,干货满满,期待你的查阅。

2025-03-03 02:04:19 1175 22

原创 【C++】list 链表的使用+模拟实现

本文主要介绍C++【STL】容器中的 list,包括接口说明和模拟实现。其中讲解了迭代器功能上的分类,让你了解为何 list 要实现这个接口。

2025-02-23 23:00:45 1542 16

原创 【C++】vector的使用练习 + 模拟实现

本文主要介绍C++的【STL】容器之一的 vector,从基本功能介绍,到常用接口使用演示,接着还有 5 道vector使用练习题加强接口使用熟练度,最后模拟实现 vector,加强对 vector 的理解乃至完全掌握。

2025-02-16 00:35:00 1379 11

原创 string类OJ练习题

string类相关的oj题,加强对 string 类接口使用的熟练度。

2025-02-05 22:47:02 733 10

原创 【C++】STL介绍 + string类使用介绍 + 模拟实现string类

本文带大家入坑STL,学习第一个容器string,并初步了解编码。

2025-01-28 16:41:19 951 10

原创 【C++】模版初阶

本文主要讲述C++模板初阶的知识,主要关于函数模板和类模板的用法教程。

2024-12-07 18:24:43 1242 23

原创 【C++】内存管理

本文主要讲述C++上是如何申请空间并销毁的,了解其底层原理。并与C语言的内存管理进行比较。

2024-12-05 23:24:02 1310 21

原创 【C++】类和对象(下)

本文主要内容:构造函数的再探--初始化列表、内置类型与自定义类型之间的转换、类的static成员、友元、内部类、匿名对象。最后还会了解一下编译器对类对象拷贝时的优化。

2024-12-01 15:30:11 1160 12

原创 【C++】类和对象(中)

本文主要讲述了类和对象的六个默认成员函数,这是c++类和对象中最重要的一节,干货多多,并且最终会实现完整的日期类代码。

2024-11-28 17:44:46 1011 15

原创 【C++】类和对象(上)

类和对象(上):简单的类实现。

2024-11-21 15:28:34 918 15

原创 C++入门基础

本文内容:C++的输入和输出、namespace命名空间、缺省参数、函数重载、引用、inline内联函数、nullptr。

2024-11-14 23:15:02 795 11

原创 单链表OJ思路

11道单链表OJ题的解题思路。

2024-11-09 15:46:40 916 16

原创 数组OJ思路

一道题解法有很多种,了解了算法的时间复杂度和空间复杂度,我们的解题思路不仅要能解题,还要尽量做到最优。

2024-11-01 14:38:54 999 20

原创 【排序】常见的八大排序算法

本文排序算法有:冒泡排序、堆排序、直接插入排序、希尔排序、直接选择排序、快速排序、归并排序、计数排序。

2024-10-30 01:59:03 2949 17

原创 【手撕代码·二叉树】堆 和 二叉链的实现 + 算法题

本文内容:树的介绍、二叉树、顺序二叉树---堆的实现、堆排序、Top-K算法、链式二叉树的实现、二叉树算法题、二叉树常见选择题。内容较多,希望对大家有所帮助。

2024-10-22 00:17:48 1277 20

原创 【数据结构】栈和队列 + 经典算法题

本文完整实现了栈和队列的数据结构,以及栈和队列的一些经典算法题,让我们更加清楚了解这两种数据结构特点,并熟悉运用。

2024-10-09 21:53:22 1724 18

原创 数据结构之链表(2),双向链表

接着上一篇单链表来详细说说链表中什么是带头和不带头,“哨兵位”是什么,什么是单向什么是双向,什么是循环和不循环。然后实现完整的双向链表代码。

2024-09-30 18:40:14 1299 10

原创 数据结构之链表(1),单链表

本文讲述了什么是链表,以及实现了完整的单链表。

2024-09-27 00:26:36 1213 16

原创 数据结构之顺序表

本文概述了什么是线性表,并实现了线性表之一的顺序表。

2024-09-21 18:42:26 1328 17

原创 数据结构之算法复杂度

本文主要讲述数据结构中的算法复杂度。

2024-09-21 11:42:16 1051 11

原创 C语言之预处理详解(完结撒花)

本文为我的C语言系列的最后一篇文章,主要讲述了#define定义和宏、#和##运算符、各种条件编译指令等,希望对大家有所帮助。

2024-09-18 21:44:13 1717 10

原创 C语言之编译和链接

我们平时写的C语言代码是如何变为可执行程序的呢?这个过程其实就是C语言的编译和链接过程。本文就来大致讲述这里的过程,让我们对这个过程有一个较清晰的认知。

2024-09-15 16:48:14 1311 4

原创 C语言之文件操作

本文将全面详细的讲述C语言文件操作的基础知识,包括所右顺序读写的函数介绍以及随机读写的函数介绍,字数较多,感谢支持

2024-09-13 13:29:59 1265 6

原创 C语言之动态内存管理、柔性数组

本文讲述C语言动态内存管理的基础知识,另外包括柔性数组的基本知识。

2024-09-07 23:43:28 933 7

原创 C语言之联合体和枚举

本文主要讲述C语言的两种结构类型:联合体和枚举。

2024-09-06 14:19:09 1194 3

原创 C语言之结构体

本文包括结构体的声明、初始化、自引用等基础知识,另外包括结构体的内存对齐,结构体实现位段。

2024-09-04 20:26:26 1201 4

原创 C语言之数据在内存中的存储(2),浮点数在内存中的存储

想知道浮点数在内存中是如何存储的吗,本文就告诉你答案,虽然一般情况题目还是面试涉及到浮点数在内存中的存储很少,但是了解其存储机制有利于加深我们对C语言的理解,修炼我们的内功。

2024-07-11 17:28:02 1340 15

原创 C语言之数据在内存中的存储(1),整形在内存中的存储与大小端字节序

本文主要讲述整型包括字符型是如何在内存中存储的,涉及到大小端字节序这一概念,还有如何判断大小端,希望对大家有所帮助。

2024-07-08 23:49:47 1008 12

原创 C语言之常用内存函数以及模拟实现

本文主要讲述C语言中常用的内存函数:memcpy、memmove、memset、memcmp。内容不多,除了了解如何使用,我们还会进行模拟实现这些库函数,希望对大家有所帮助。

2024-07-06 15:26:37 914 10

原创 2024年,计算机相关专业还值得选择吗?

问:随着2024年高考落幕,数百万高三学生又将面临人生中的重要抉择:选择大学专业。在这个关键节点,计算机相关专业是否仍是“万金油”的选择?在过去很长一段时间里,计算机科学与技术、人工智能、网络安全、软件工程等专业一直以来是炙手可热的存在,吸引了大批学生前往。然而,随着行业竞争加剧和市场饱和度提高,该类专业是否仍具有长远的发展潜力和就业前景呢?答:对于这个问题,我的答案是肯定的,因为对比其他专业,计算机专业还是非常公平的,你有技术,有本事,有能力,就一定有公司收容你。

2024-06-11 14:07:25 1363 7

原创 C语言之常用字符串函数总结、使用和模拟实现

本文介绍和模拟实现的字符串函数有:strlen、strcpy、strcat、strcmp、strncpy、strncat、strncmp、strstr。另外详细介绍了strtok 、strerror、perror函数的使用。基本囊括了所有常用的字符串函数。模拟实现有助于我们理解和记忆这些库函数,我们都能够自己实现这些库函数,使用时需要注意的细节我们肯定也更加清楚和深刻。最后,希望本文的内容能够帮助到大家更好的理解这些库函数

2024-06-10 19:03:23 2585 11

空空如也

空空如也

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

TA关注的人

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