这里是彪彪
码龄2年
关注
提问 私信
  • 博客:24,113
    动态:201
    24,314
    总访问量
  • 50
    原创
  • 141,961
    排名
  • 623
    粉丝
  • 0
    铁粉
  • 学习成就

个人简介:在学习c/cplusplus的路上

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:四川省
  • 加入CSDN时间: 2022-09-24
博客简介:

weixin_73906153的博客

查看详细资料
  • 原力等级
    成就
    当前等级
    4
    当前总分
    629
    当月
    2
个人成就
  • 获得299次点赞
  • 内容获得101次评论
  • 获得233次收藏
  • 代码片获得228次分享
创作历程
  • 3篇
    2024年
  • 47篇
    2023年
成就勋章
TA的专栏
  • C++
    6篇
  • Linux
    2篇
  • 数据结构与算法
    10篇
  • 零基础C语言之路
    25篇
  • Java之岛
    6篇
  • 杂题集
    1篇
兴趣领域 设置
  • 编程语言
    javac++c语言javascript
创作活动更多

AI大模型如何赋能电商行业,引领变革?

如何使用AI技术实现购物推荐、会员分类、商品定价等方面的创新应用?如何运用AI技术提高电商平台的销售效率和用户体验呢?欢迎分享您的看法

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

C++中高阶数据结构(AVL树的原理讲解)

int _bf;
原创
发布博客 2024.04.09 ·
1599 阅读 ·
34 点赞 ·
1 评论 ·
33 收藏

C++中二叉搜索树的模拟实现(二叉搜索树是map,set的底层原理)

二叉树和别的树的区别就是各个节点的排列有了区别,节点中存储的内容还是不会变的,仍然是左右指针,和一个值.K _key;
原创
发布博客 2024.04.04 ·
888 阅读 ·
24 点赞 ·
0 评论 ·
26 收藏

C++(set和map详解,包含常用函数的分析)

定义两个迭代器,分别指向各自的set集合,迭代器从头开始遍历,并且比较两个迭代器指向的数据的大小,其中,小的数据,就是差集,接着让小的迭代器++,假如比较的数据相同,那么该值就是两个set的并集,此时两个迭代器都向后++,直到有一个迭代器走到了end位置.此时就找到了两个set的差集和交集.multiset和set的用法类似.但是multiset只能排序,不能去重.multiset的底层遇见相同的值的节点的时候,会插入在已有的值的节点的左边或者是右边均可.最后经过旋转了之后结果都是一样的.
原创
发布博客 2024.04.03 ·
958 阅读 ·
21 点赞 ·
0 评论 ·
16 收藏

linux基本指令(Chapter 2)

date命令的是显示时间:使用date +%Y:%m:%d可以指定格式显示时间.例如:()并且date +%s。
原创
发布博客 2023.10.24 ·
298 阅读 ·
4 点赞 ·
3 评论 ·
1 收藏

C++(Chapter 3)

注意:如果函数返回时,出了函数作用域,如果返回对象还在(还没还给系统),则可以使用引用返回,如果已经还给系统了,则必须使用传值返回。在早期C/C++中auto的含义是:使用auto修饰的变量,是具有自动存储器的局部变量,但遗憾的是一直没有人去使用它.C++11中,标准委员会赋予了auto全新的含义即:auto不再是一个存储类型指示符,而是作为一个新的类型指示符来指示编译器,auto声明的变量必须由编译器在编译时期推导而得。auto可以自动识别变量的类型int main()int a = 10;
原创
发布博客 2023.10.24 ·
468 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Linux基本指令(Chapter 1)

在安装好的虚拟机里输入ifconfig指令之后,会出现如下界面,这里的inet之后的部分就是虚拟机的ip,在xshll中连接虚拟机需要虚拟机的ip地址.在xshell中连接虚拟机.点击新建接着接着填写虚拟机的用户名:接着就是填写虚拟机的该用户的登录密码即可最后在xshell中显示如下内容就代表显示成功了。
原创
发布博客 2023.10.14 ·
268 阅读 ·
1 点赞 ·
3 评论 ·
0 收藏

C++ (Chapter 2)

在C++中,在函数定义的时候,可以为形参指定一个默认值,也称作缺省值.如果在调用这个函数时没有传参,那么函数在执行的时候就采用该实参的缺省值,否则使用实参的值.运行结果:此处在调用时值传递了一个参数,这个参数会赋值给第一个形参,第二个形参没有赋值,就会使用默认的10进行运算.
原创
发布博客 2023.10.13 ·
323 阅读 ·
4 点赞 ·
4 评论 ·
2 收藏

C++ (Chapter 1)

先来看一个C语言的例子:下面这段代码是可以正常运行的.但是,包含了一个头文件之后,甚至无法通过编译.根据报错信息来看,rand本来是库中的一个库函数,但是这里我们也创建了一个叫做rand的变量,所以这里在执行语句时,就无法辨别rand到底是哪个了.假若有人在项目中恰好就将某个变量名或者函数名设置成了与库中一样的名字,可就惨了,因为C语言本身是没有办法自己去解决这个问题的,只能我们主动避免.命名空间的定义:所以为了解决上述出现的情况,C++中出现了命名空间.我们可以主动将我们声明的变量和函数等都写入这个命
原创
发布博客 2023.10.11 ·
355 阅读 ·
3 点赞 ·
3 评论 ·
1 收藏

数据结构--队列与循环队列的实现

每个节点需要存储数据和下一个节点的地址.typedef struct QueueNode//此处定义的是每个节点的结构}QueueNode;由于我们是对每个节点之间的链接关系进行处理,所以就需要定义结构体的指针对节点中的next指针进行操作,所以我们可以定义head和tail两个结构体指针,head指针指向链表的第一个节点,tail指针指向链表的最后一个节点.那么就可以将这两个节点也包装成一个结构体typedef struct Queue//将两个指针包装成一个结构体}Queue;
原创
发布博客 2023.10.04 ·
462 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

数据结构--栈的实现

栈是一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。:栈其实可以看作一个弹夹,数据就是一个一个的子弹,而子弹在弹夹中确是先进去的要后被发射,最后后进去的反而会先被发射。**进栈就是装子弹的过程,而出栈就是发射子弹的过程。**同时,下图是向栈中插入数据(Top),只能从栈顶插入数据。下图是取出栈中的数据(Pop),只能从栈顶取出数据。
原创
发布博客 2023.09.30 ·
567 阅读 ·
2 点赞 ·
2 评论 ·
0 收藏

每日一题(两数相加)

由于链表从头开始向后存储的是低权值位的数据,所以只需要两个指针p1和p2,分别从链表的头节点开始遍历。并在这个构造的新链表的相应的节点中存储p1和p2对应值的相加结果。但是p1和p2所对应的节点的值相加可能会产生进位,所以创建一个pre变量用于存储相应的进位值。,所以在将两个链表遍历结束之后,需要对pre的值进行判断,假若pre的值是0,则直接返回newhead即可,pre的值若是1,则还需要创建一个节点。,(因为这俩个链表的相同长度的部分的链表的最后一个节点中存储的值也会存在相加产生进位的情况)。
原创
发布博客 2023.09.09 ·
517 阅读 ·
3 点赞 ·
3 评论 ·
2 收藏

每日一题(设计循环队列)

假若我们开辟的是5的单位的空间,那么当存满了k个数据之后,此时的rear和front就都指向了数组中的第一个元素。那么请仔细想想,在初始化的时候我们也将rear和front也初始化为了0,也指向了数组中的第一个元素。那么在这两种情况下,front和rear都指向了数组的第一个元素,但是队列中的元素个数却是大不相同,无法将队列为满和队列为空进行分开。,存储成功之后rear自加1,也就是意味着rear始终指向的当前队尾元素的下一个位置。本题只能为队列开辟k个单位空间,并且只能利用这几个空间进行数据的存储。
原创
发布博客 2023.09.08 ·
282 阅读 ·
6 点赞 ·
6 评论 ·
2 收藏

每日一题(复制带随机指针的链表)

如下图所示(红色的是random指针,绿色的是next指针):新节点之间的random的链接关系和原链表的random的链接关系并没有改变。在两个指针向后更新的过程中,肯定是cur1->next先为NULL,当cur1->next为NULL时就退出循环,但是此时的cur2的next指针仍然指向的是新开辟的最后一个节点。但是实际上操作起来更复杂。创建三个指针cur1和cur2和newhead,cur1从head的next处开始遍历,cur2从head处开始遍历,newhead指针用于记录cur1的起始位置。
原创
发布博客 2023.09.02 ·
247 阅读 ·
4 点赞 ·
3 评论 ·
4 收藏

每日一题(链表中倒数第k个节点)

如下图所示:此题仍然定义两个指针,fast指针和slow指针,假设链表的长度是5,k是3,那么倒数第3个节点就是值为3的节点。那么我们可以先让fast指针向后走k次,也就是3次。slow指针仍然指向头节点。
原创
发布博客 2023.09.01 ·
722 阅读 ·
2 点赞 ·
2 评论 ·
0 收藏

每日一题(链表的中间节点)

如下图:可以定义两个结构体指针均从链表的头节点开始向后遍历,fast指针一次走两步,slow指针一次走一步,fast指针的速度永远是slow指针速度的两倍。:当链表的个数为奇数个时(如下图),直到fast走到尾节点时,此时slow节点就是链表的中间节点。:当链表的个数为偶数个时(如下图),直到fast为空指针时,此时的slow节点就是链表的中间节点。
原创
发布博客 2023.09.01 ·
146 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

每日一题(反转链表)

可以定义一个新的newhead结构体指针。再定义cur指针和next指针互相配合,将原链表中的节点从头到尾依次头插到newhead链表中,同时更新newhead。最后返回newhead即可。
原创
发布博客 2023.08.30 ·
207 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

每日一题(移除链表元素)

203. 移除链表元素 - 力扣(LeetCode)思路一:思路二:思路一代码:思路二代码:注意:以下都是针对思路一的讲解:图解:本题的全部分析就到这里啦,若有不足,欢迎评论区指正,下期见!
原创
发布博客 2023.08.30 ·
208 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

动态内存管理详解

目前来回顾一下想要在内存中开辟空间有哪些方法?但是这两种开辟方式都有两个特点:用于开辟内存的函数:这个函数能申请一块连续的指定大小为 字节大小的内存,同时返回指向该内存的指针。用于释放内存的函数:free函数用于释放在堆上开辟的内存。malloc和free函数的声明都在 头文件中。接下来看几个例子:这里的代码是会报错的,因为数组的创建方括号里的值必须是常量。要特别注意。再看一个例子:这里在释放了动态开辟的空间之后,是否要将指向该内存的指针变量置为空呢?这里一定是要置为空的,可以有效防止后面对该指针进
原创
发布博客 2023.08.21 ·
145 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

柔性数组详解

在c99标准中:允许结构体的最后一个变量是未知大小的数组,这就是柔性数组的来源。
原创
发布博客 2023.08.21 ·
217 阅读 ·
2 点赞 ·
2 评论 ·
0 收藏

动态内存开辟

这里在Test函数中,只是将str指针本身传过去了,在Getmemory函数中,对形参p进行修改并不会影响到Test函数中str变量的值。出了Germemory函数str的值还是NULL,此时srtcpy函数对str这个空指针进行操作就是不合法的操作,导致程序错误。
原创
发布博客 2023.08.21 ·
118 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多