郭源潮1
码龄2年
关注
提问 私信
  • 博客:23,438
    问答:78
    23,516
    总访问量
  • 27
    原创
  • 31,399
    排名
  • 462
    粉丝
  • 学习成就
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:河南省
  • 加入CSDN时间: 2022-12-18
博客简介:

2202_75924820的博客

查看详细资料
  • 原力等级
    成就
    当前等级
    3
    当前总分
    320
    当月
    20
个人成就
  • 获得584次点赞
  • 内容获得35次评论
  • 获得391次收藏
创作历程
  • 27篇
    2024年
成就勋章
TA的专栏
  • C++
    18篇
  • LeetCode经典题
    9篇
兴趣领域 设置
  • 编程语言
    c++c语言
  • 数据结构与算法
    数据结构
  • 操作系统
    linux
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

【C++11】Lambda表达式

Lambda表达式语法格式、使用、底层原理,函数对象与lambda表达式
原创
发布博客 2024.11.02 ·
529 阅读 ·
12 点赞 ·
4 评论 ·
12 收藏

【C++】左值引用和右值引用

左值引用与右值引用、移动构造和移动赋值、右值引用的使用场景几意义、完美转发
原创
发布博客 2024.10.31 ·
305 阅读 ·
15 点赞 ·
3 评论 ·
8 收藏

【C++】布隆过滤器

布隆过滤器的概念、误判问题、实现、应用、优点与缺陷。
原创
发布博客 2024.10.25 ·
464 阅读 ·
11 点赞 ·
4 评论 ·
12 收藏

【C++】位图

位图的概念、实现位图、如何表示整数2^32、位运算基本运算规则
原创
发布博客 2024.10.24 ·
643 阅读 ·
26 点赞 ·
0 评论 ·
22 收藏

【C++】哈希实现unordered_map/set

HashTable迭代器、operator++、前置声明、typename关键字、优化。
原创
发布博客 2024.10.23 ·
584 阅读 ·
25 点赞 ·
0 评论 ·
7 收藏

【C++】哈希

哈希概念、哈希冲突、哈希函数、闭散列与开散列的实现、哈希框架
原创
发布博客 2024.10.21 ·
1006 阅读 ·
22 点赞 ·
0 评论 ·
11 收藏

【C++】红黑树模拟实现map和set

如何复用一颗红黑树来模拟map和set、红黑树的迭代器、operator++、operator[]、通过模板参数控制实现const迭代器
原创
发布博客 2024.10.17 ·
646 阅读 ·
26 点赞 ·
1 评论 ·
24 收藏

【C++】红黑树

红黑树:是一种二叉搜索树,但在每个节点上增加了一个存储位表示结点的颜色,可以是Red或Black。通过对任何一条从根到叶子的路径上各个结点着色方式的限制,红黑树确保没有一条路径会比其他路径长出两倍,因而是接近平衡的。
原创
发布博客 2024.10.15 ·
1107 阅读 ·
22 点赞 ·
0 评论 ·
17 收藏

【C++】AVL树

左单旋、右单旋、左右双旋、右左双旋,AVL树的插入、旋转、验证及性能分析
原创
发布博客 2024.10.12 ·
1046 阅读 ·
11 点赞 ·
0 评论 ·
26 收藏

【C++】692.前K个高频单词

使用map统计单词的次数。map是按单词从小到大排序的。对单词再按照次数从大到小排序。有两种方法:将pair键值对放到vector中,用sort排序,还要写一个按int比较的仿函数,因为sort是快排实现的,不稳定,排完了,无法保证相对顺序的不变,所以还需要对次数相同的按字母排。用multimap按次数从大到小排序(由于次数可以相同所以用multimap),multimap中比较器默认是less,是按从小到大排序的,所以,我们把multimap中比较器改成greater就是按从
原创
发布博客 2024.09.29 ·
304 阅读 ·
1 点赞 ·
0 评论 ·
3 收藏

【C++】map和set的介绍和使用

此篇主要对set和map、multiset和multimap做了简单的理解和相关应用的举例。关于其他的接口,由于和STL中vector、list、string等接口类似,这里没有做具体讲解,只做了特别的几个接口的说明。关于set和map更深层次的探索,请看下篇。
原创
发布博客 2024.09.26 ·
1869 阅读 ·
45 点赞 ·
0 评论 ·
20 收藏

【C++二叉树】二叉树的前序遍历、中序遍历、后序遍历递归与非递归实现

前序遍历、中序遍历、后序遍历的递归实现很简单,但是非递归迭代实现就有稍微有点难理解了。用了同一种思路,把树分为左路节点和左路节点的右子树,针对这三种遍历方式都适用。从根本上就是用循环模拟递归的过程。后序遍历相对前序和中序又稍微复杂,要考虑好访问节点的条件,避免死循环。多画图模拟迭代的过程更容易理解。
原创
发布博客 2024.09.21 ·
2119 阅读 ·
39 点赞 ·
0 评论 ·
18 收藏

【C++二叉树】105.从前序与中序遍历序列构造二叉树

prei要传引用,因为递归过程中要使用上一次递归的prei,如果传值,递归就找不到上一次的prei。前序遍历访问方式:根-左子树-右子树。中序遍历访问方式:左子树-根-右子树。根据前序遍历和中序遍历构建二叉树。
原创
发布博客 2024.09.19 ·
564 阅读 ·
23 点赞 ·
0 评论 ·
4 收藏

【C++二叉树】JZ36 二叉搜索树与双向链表

prev传参要传引用,因为要保证在递归的过程中,prev能正确的使用,如果是传值,递归过程就找不到上一次递归使用的prev了。主要使用了双指针的解题思想。
原创
发布博客 2024.09.18 ·
573 阅读 ·
10 点赞 ·
0 评论 ·
3 收藏

【C++二叉树】236.二叉树的最近公共祖先

这道题的命名风格很重要,在判断p、q的位置时,分别定义了四个布尔值,命名清晰,读起来也很好理解。如果细分的话可以分为以上三种情况,但是本题就是一个普通二叉树,所以我们考虑第三种情况就可以了。一个在“我”的左子树,一个在“我”的右子树,则“我”是祖先。都在“我”的左子树,则递归到左子树中查找。都在“我”的右子树,则递归到右子树中查找。情况一:如果树为二叉搜索树。情况三:如果为普通二叉树。情况二:如果为三叉链。
原创
发布博客 2024.09.18 ·
739 阅读 ·
18 点赞 ·
0 评论 ·
4 收藏

【C++二叉树】102.二叉树的层序遍历

只是输出结果和上一题不同,倒着从最后一层往前一层一层的输出,是自底向上的层序遍历。我们只需要在上一题的基础上将vv二维数组逆置一下即可。
原创
发布博客 2024.09.17 ·
236 阅读 ·
11 点赞 ·
0 评论 ·
4 收藏

【C++二叉树】606.根据二叉树创建字符串

3、将整数转化为字符串,这里用了C++String库里的to_string函数,是C++11的用法。1、题目要求将二叉树转换为字符串输出,所以定义了一个string对象str。本题主要理解给的两个示例说明就可以了。2、字符串追加这里用了“+=”。
原创
发布博客 2024.09.17 ·
259 阅读 ·
3 点赞 ·
0 评论 ·
0 收藏

【二叉树进阶】二叉搜索树

2. 二叉搜索树的实现1. 二叉搜索树概念二叉搜索树(BST,Binary Search Tree):可以是一颗空树,满足以下性质:根节点的值大于左子树上所有节点的值,小于右子树上所有节点的值。它的左子树和右子树也分别为二叉搜索树。它的中序遍历是有序的:0 1 2 3 4 5 6 7 8 9 ,所以也称为二叉排序树或二叉查找树。2. 二叉搜索树的实现。
原创
发布博客 2024.09.16 ·
1457 阅读 ·
35 点赞 ·
0 评论 ·
23 收藏

【C++】深究C++三大特性之多态

总结一下派生类的虚表生成:a.先将基类中的虚表内容拷贝一份到派生类虚表中 b.如果派生 类重写了基类中某个虚函数,用派生类自己的虚函数覆盖虚表中基类的虚函数 c.派生类自己新增加的虚函数按其在派生类中的声明次序增加到派生类虚表的最后。需要说明的是这个打印虚表的代码经常会崩溃,因为编译器有时对虚表的处理不干净,虚表最后面没有放nullptr,导致越界,这是编译器的问题。虚表存的是虚函数指针,不是虚函数,虚函数和普通函数一样的,都是存在代码段的,只是他的指针又存到了虚表中。如果是普通对象是一样快的。
原创
发布博客 2024.09.13 ·
1163 阅读 ·
15 点赞 ·
0 评论 ·
29 收藏

【C++】深究C++三大特性之继承

如果B要继承A,b就必须去调用父类A的构造函数完成父类成员部分的初始化,但是由于A的构造函数是private的,private成员无论以什么方式继承在子类中都是不可见的。但是我们看父类的拷贝构造,需要接收的是一个Person类的对象。同理,我们并没有实现子类的析构函数,编译器会生成默认的,这个默认的会调用父类的析构函数完成清理父类的成员,自己的成员调用这个默认的完成清理。上述代码,我们并没有写Student的拷贝构造,那么编译器就会生成默认的,这个默认的就会去调父类的拷贝构造去拷贝父类那部分的成员。
原创
发布博客 2024.08.28 ·
1662 阅读 ·
57 点赞 ·
5 评论 ·
32 收藏
加载更多