小鬼yalo
码龄1年
关注
提问 私信
  • 博客:25,028
    25,028
    总访问量
  • 37
    原创
  • 25,596
    排名
  • 323
    粉丝
  • 0
    铁粉

个人简介:努力学编程

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:陕西省
  • 加入CSDN时间: 2024-01-17
博客简介:

2401_82677021的博客

查看详细资料
  • 原力等级
    当前等级
    4
    当前总分
    487
    当月
    22
个人成就
  • 获得647次点赞
  • 内容获得99次评论
  • 获得587次收藏
创作历程
  • 1篇
    2025年
  • 36篇
    2024年
成就勋章
兴趣领域 设置
  • 编程语言
    c语言
  • 数据结构与算法
    数据结构
创作活动更多

2024 博客之星年度评选报名已开启

博主的专属年度盛宴,一年仅有一次!MAC mini、大疆无人机、华为手表等精美奖品等你来拿!

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

【C++篇】红黑树的实现

本篇会用到上篇【AVL树的实现】中的旋转知识。
原创
发布博客 19 小时前 ·
721 阅读 ·
16 点赞 ·
3 评论 ·
20 收藏

【C++篇】AVL树的实现

本篇是基于二叉搜索树写的,详情可以去看上篇【二叉搜索树】
原创
发布博客 2024.12.27 ·
1189 阅读 ·
23 点赞 ·
14 评论 ·
38 收藏

【C++篇】map和set的使用

set的声明如上,T就是set底层关键字(key)的类型。set默认要求T是支持比较大小的,如果不支持或者想按自己的比较方式走,可以传仿函数给第二个模板参数。set底层存储数据的内存是从空间配置器申请的,如果需要可以自己实现内存池,传给第三个参数一般情况下是不需要传后两个参数的set底层是用红黑树实现的,增删查的效率为O(logN),迭代器遍历走的是中序遍历,所以是有序的map的声明如下,Key就是map底层关键字的类型,T是map底层value的类型。
原创
发布博客 2024.12.16 ·
840 阅读 ·
40 点赞 ·
10 评论 ·
40 收藏

【日常刷题/动态规划C++】交错字符串,两个字符串的最小ASSCLl删除和

判断字符串s3是否可以由两个字符串s1和s2交替拼接而成。
原创
发布博客 2024.12.11 ·
210 阅读 ·
12 点赞 ·
8 评论 ·
9 收藏

【日常刷题/动态规划C++]单词拆分,回文子串,分割回文串2

判断一个字符串s,是否由给定的字典中的单词拼接而成。
原创
发布博客 2024.12.05 ·
358 阅读 ·
15 点赞 ·
6 评论 ·
11 收藏

【C++】二叉搜索树

二叉搜索树又称二叉排序树,它或者是⼀棵空树,或者是具有以下性质的⼆叉树:• 若它的左⼦树不为空,则左⼦树上所有结点的值都⼩于等于根结点的值。• 若它的右⼦树不为空,则右⼦树上所有结点的值都⼤于等于根结点的值。
原创
发布博客 2024.11.25 ·
953 阅读 ·
43 点赞 ·
12 评论 ·
35 收藏

C++篇之多态

类成员函数前⾯加virtual修饰,那么这个成员函数被称为虚函数。注意⾮成员函数不能加virtual修饰。
原创
发布博客 2024.11.20 ·
950 阅读 ·
35 点赞 ·
9 评论 ·
23 收藏

C++篇之继承

1. 基类private成员在派⽣类中无论以什么⽅式继承都是不可⻅的。这⾥的不可见是指基类的私有成员 还是被继承到了派⽣类对象中,但是语法上限制派⽣类对象不管在类里面还是类外面都不能去访 问它。2,基类private成员在派⽣类中是不能被访问,如果基类成员不想在类外直接被访问,但需要在派⽣类 中能访问,就定义为protected。可以看出保护成员限定符是因继承才出现的。3,实际上⾯的表格我们进⾏⼀下总结会发现,基类的私有成员在派⽣类都是不可见。
原创
发布博客 2024.11.11 ·
1193 阅读 ·
39 点赞 ·
9 评论 ·
24 收藏

前缀和算法

给你一个数组arr,进行q次询问,每次询问数组区间[l,r]的和。
原创
发布博客 2024.11.04 ·
249 阅读 ·
8 点赞 ·
1 评论 ·
6 收藏

二分查找算法—C++

关于求中点位置的操作什么时候需要加1,什么时候不需要。只需看下面的left和right ,如果出现-1,mid就需要加1。否则,不需要加1.
原创
发布博客 2024.11.03 ·
497 阅读 ·
5 点赞 ·
1 评论 ·
12 收藏

【OJ题】【栈和队列】栈的压入弹出序列 二叉树的层序遍历

有两个序列,pushv,popv分别代表入栈序列,出栈序列。判断这个入栈序列的是不是所给的popv。而一个入栈序列的出栈顺序可能有很多种。
原创
发布博客 2024.10.24 ·
278 阅读 ·
10 点赞 ·
4 评论 ·
11 收藏

C++中【stack-queue】的使用介绍及模拟实现

1,队列queue遵循先进先出的原则,从容器一段插入元素,另一端提取元素。元素从队尾入队列,从队头处队列。2,队列queue作为适配器实现,和栈一样,底层用的也是双端队列—deque。3,底层容器可以是标准模板容器之一,比如vector,list,deque等,要求是这些容器可以是实现一下操作:empty:判断容器是否为空size:容器的元素个数front:返回对头元素back:返回队尾元素push_back:在队尾插入元素pop_front:在队头出元素,也就是删除队列中的头部元素。
原创
发布博客 2024.10.22 ·
973 阅读 ·
32 点赞 ·
1 评论 ·
15 收藏

C++中list的使用及模拟实现

/定义节点T _data;//存储的数据//指向前一个节点//指向后一个节点//构造函数{}
原创
发布博客 2024.10.18 ·
1179 阅读 ·
32 点赞 ·
1 评论 ·
14 收藏

C++中vector常用函数总结

vector可以理解为一个边长数组,可以存储不同的类型,int ,double,char,结构体等。也可以才能出STL标准容器,如set,string,vector等。
原创
发布博客 2024.10.16 ·
1264 阅读 ·
18 点赞 ·
2 评论 ·
23 收藏

C++中string函数用法总结

string() //无参构造,初始化为空串string(const string& str) //用str拷贝构造string(size_t n,char c) //用n个字符c初始化string(const char* s,size_t n) //用字符串s的前n个字符初始化string(const string& str,size_t pos,size_t len=npos) //将字符串str,从下标pos位置开始,选取长度为len个的字符,来初始化。
原创
发布博客 2024.10.12 ·
1170 阅读 ·
25 点赞 ·
1 评论 ·
24 收藏

C++之内存管理

对于自定义类型,new和delete除了开空间,还会调用构造函数和析构函数。注意:在申请自定义空间时,new会调用构造函数,delete会调用析构函数。而malloc和free不会。
原创
发布博客 2024.09.24 ·
974 阅读 ·
31 点赞 ·
3 评论 ·
14 收藏

排序的实现

思路:key为第一个位置下标,用cur遍历整个数组,开始时,prev指向第一个位置,cur指向prev+1位置,cur找小,找到比key位置小的 ,与prev下一个位置交换,cur找到大的++,直到遍历完整个数据。这种情况是在数据较小的情况下,如果数据较大,比如101,100,105,102,103,102这组数据,就需要开辟空间为105的数组,消耗太大了。思路:一组数据中,遍历一遍,选出最小的数和最大的数,分别放到第一个位置和最后一个位置,然后除这两个元素外,再将剩下的元素进行遍历选数,依次循环。
原创
发布博客 2024.09.19 ·
1077 阅读 ·
29 点赞 ·
0 评论 ·
25 收藏

堆的时间复杂度分析

总结点个数N=2^0+2^1+...+2^(h-1)=2^h-1。那么就可以得出高度和节点个数的关系h=log(N+1)。最少情况下,N=2^0+2^1+...+2^(h-2)+1=2^(h-1),同样高度和节点个数的关系:h=logN+1;相减得:F(h)=2^(h-1)+2^1+2^2+...+2^(h-2)-2^0*(h-1)最多需要调整的次数:T(h)=2^1*1+2^2*2+...+2^(h-1)*(h-1)相减得:T(h)=2^h*(h-1)-2^1-(2^2+2^3+...+2^(h-1))
原创
发布博客 2024.08.31 ·
861 阅读 ·
27 点赞 ·
1 评论 ·
15 收藏

二叉树——堆(c语言实现)

再删除最后一个数据,最后再进行一次调整建堆。
原创
发布博客 2024.08.30 ·
346 阅读 ·
5 点赞 ·
0 评论 ·
6 收藏

类和对象下

而有默认构造的,可以不用在初始化列表写,编译器会自动调用的默认构造进行初始化。6,总的来说,成员变量初始化尽量使用初始化列表。2,内部类是一个独立的类,它不属于外部类,不能通过外部类的对象去访问内部类的成员。2,每个成员变量在初始化列表只能出现一次,语法上可以理解初始化列表是成员变量初始化定义的地方。4,静态成员函数可以访问静态成员变量,但不能访问非静态的,因为没有this指针。5,非静态的成员函数,可以访问任意的静态成员变量和静态成员函数。,这三类是必须在初始化列表进行初始化的,不能在函数体内初始化。
原创
发布博客 2024.07.29 ·
805 阅读 ·
15 点赞 ·
0 评论 ·
18 收藏
加载更多