自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【模版初阶】

C++模版初阶相关知识

2024-07-27 15:45:57 273

原创 【C/C++内存管理】

C/C++内存管理相关知识

2024-07-27 13:43:21 553

原创 最小栈、栈的弹出(C++)

两道题

2024-06-05 20:19:34 222

原创 C++类和对象下篇

的。

2024-04-20 09:17:40 1026 1

原创 C++类和对象中下篇

此时用户再在类外自己实现一个全局的赋值运算符重载,就和编译器在类中生成的默认赋值运算符重载冲突了,故赋值运算符重载只能是类的成员函数。3.用于内置类型的操作符,其含义不能改变,例如:内置的整型+,不能改变其含义。C++为了增强代码的可读性引入了运算符重载,运算符重载是具有特殊函数名的函数,也具有其返回值类型,函数名字以及参数列表,其返回值类型与参数列表与普通的函数类似。这两个运算符一般不需要重载,使用编译器生成的默认取地址的重载即可,只有特殊情况,才需要重载,比如想让别人获取到指定的内容。

2024-04-14 22:38:07 992

原创 数据结构排序篇上

1.堆排序使用堆来选数,效率就高了很多。2.时间复杂度:O(N*logN)3.空间复杂度:O(1)4.稳定性:不稳定。

2024-04-13 22:12:17 918 1

原创 C++类和对象中上篇

上述的Date类,在创建完对象后,可以通过Init的public即公有方法给日期设置对象,但如果每次创建对象时都调用该方法设置信息,肯定太麻烦了,那么有没有一个解决办法就是在创建对象时,就将信息设置进去的方法呢。3.若没有显式定义,编译器会生成默认的拷贝构造函数。构造函数是特殊的成员函数,需要注意的是,构造函数虽然名称叫构造,但是构造函数的主要任务并不是开空间创建对象,而是初始化对象。注意:在编译器生成的默认拷贝构造函数中,内置类型是按照字节方式直接拷贝的,而自定义类型是调用其拷贝构造函数完成拷贝的。

2024-04-13 12:17:09 682

原创 C++类和对象上

class yang//类体:由成员函数和成员变量组成//一定要注意后面的分号。其中class为定义类的关键字,yang为类的名字,这里要注意一点:类定义结束之后后面分号是不能忽略的。类体中内容称为类的成员,类体就是由成员函数和成员变量组成,类中的变量称为类的属性或成员变量;类中的函数称为类的方法或者成员函数。//第一中类的定义是声明和定义全部放在类体中,需要注意:成员函数如果在类中定义,编译器可能会将其当成内联函数处理。public://体重//高度//姓名int _age;

2024-04-10 17:53:32 690

原创 C++入门知识

如果合并的里面有同一个变量怎么办,合并了以后就是同一个域,同一个域里面是不能有同名的,也就是他们准确来说如果这样发生冲突,那他们就不能定义在同一个命名空间。展开命名空间后,即使不指定调用哪一个命名空间里的值,他也不会报错。如果传递了实参,那么这个形参后面的值没什么用,但是如果实参没有传值,那么就会用形参后面的这个值即缺省值。用变量或者函数在编译默认查找时,默认先局部作用域,再全局作用域,这里默认不会到命名空间里面找。命名空间调,比如想调用一个命名空间里面的一个函数多次,那就太麻烦了。缺省参数可以有多个。

2024-03-29 22:22:26 626

原创 OJ:循环队列

改进:当然可以用size来记录链表的长度,从而区分满不满,代入接口,发现找尾不好找,所以我们能不能加一个rear的prev前驱指针从而来找尾,但是好像有点不好控制,如果这样的话,还不如直接双向链表,因此链表看起来虽然简单,但越解决越复杂。我们先来写取对头元素和取队尾元素两个接口吧,首先这两个我们都得先判断他们是否为空,如果为空,就直接跳出循环,取对头元素比较好取,直接用front的下标就能取到,但是对于取队尾元素呢,好像不能直接写,可能得考虑取模的情况,因为可能会遇到下面这种情况。回绕的问题就解决了。

2024-03-06 16:08:51 1114 2

原创 OJ:用栈实现队列

再有了这个之后,我们需要为他开辟空间,从而进行下面的操作,这里使用malloc开辟空间,并且初始化结构体中的两个栈,当然如果你构造的结构体里面是两个指针的话,首先会出现野指针问题,因为指针不赋值的话就是野指针了,还有就是你定义的是指针,你用malloc开辟空间时并没有开辟了空间,反而是开辟了指针。接下来就是pop函数了,还是那句话,就是如果pop有值,就直接删除,倘若没有值,就看左侧,如果左侧有值就移动到右侧,再删除,这段话是不是有点耳熟,跟上面peek函数功能中有些类似,所以借用peek函数。

2024-03-03 17:09:36 398

原创 OJ:反转链表

所以我们采用3个指针来解决,首先n1赋值为null,n2赋值为head,n3为head的next,然后以n2为真为条件进行改变,注意这里oj传的是一级指针,一级指针是不会改变原链表节点的指向的,我们的原链表它肯定是不会改变,只不过在当前的这个oj函数内,此时head它是一个形参,也就是它是一个新的变量,head的指向指到了新的节点,但是对于原链表来说不会改变的。

2024-03-03 12:31:07 393

原创 OJ:链表的中间结点

这里我觉得在声明fast和slow时,容易出错,还有fast&&fast->next时容易出错,首先第一个出错点我觉得在写那个slow时可能会忘记加*,对于while循环判断fast&&fast->next这里呢,这里可能会分不清用与还是或,这里我们想只要有一个条件不满足就直接跳出循环,所以只要有一个为假就跳出循环,所以用与就是&&,如果用或(||)的话,就是得满足两个条件才能跳出循环,还有就是fast和fast->next不能互换位置,否则假如fast为NULL,那么怎么能取到fast->NULL呢。

2024-03-03 11:23:45 361

原创 OJ:移除链表元素

思路:这个题可以直接在原链表上进行修改,但是修改链表的指向是有点麻烦的,所以我们给两个指针,phead和ptail,这是新链表的两个指针,再给一个指针pcur来遍历原链表,如果原链表中不为val就尾插到新链表中,有个细节点要注意的是,就是在为即ptail这个位置上,如果ptail本来就位NULL了,你再一次置为NULL就会报错,但有的测试用例来说,如果原链表中倒数第二个节点不为val,倒数第一个节点为val,这个时候如果你不把新链表的尾的next置为NULL,就会出错。

2024-03-03 10:45:16 371

原创 数据结构-->线性表-->单链表

数据结构单链表

2024-02-09 15:53:32 1394 3

原创 数据结构-->线性表-->顺序表

数据结构-->线性表-->链表

2024-02-06 15:24:04 1057 2

原创 C遗漏知识(个人向)

C语⾔设置了⼀些预定义符号,可以直接使⽤,预定义符号也是在预处理期间处理的。__FILE__ //进⾏编译的源⽂件__LINE__ //⽂件当前的⾏号__DATE__ //⽂件被编译的⽇期__TIME__ //⽂件被编译的时间__STDC__ //如果编译器遵循ANSI C,其值为1,否则未定义#define reg register //为 register这个关键字,创建⼀个简短的名字;) //⽤更形象的符号来替换⼀种实现case //在写case语句的时候⾃动把 break写上。

2024-02-05 15:18:05 4139 5

原创 贪吃蛇项目(基于C语言和数据结构中的链表)

贪吃蛇项目

2024-01-28 17:08:48 1058 1

原创 C语言动态内存管理

动态内存开辟

2024-01-22 21:57:16 402

原创 数据链路层 习题答案及解析

计算机网络数据链路层 相关习题以及解析

2024-01-02 16:33:49 3574 6

原创 计算机网络物理层 习题答案及解析

计算机网络物理层习题分享

2024-01-01 16:05:38 2681 5

原创 计算机网络技术概述 习题答案及解析

计算机网络概述篇习题分享

2023-12-31 14:15:52 1769 4

原创 mysql知识分享(包含安装卸载)(一)

mysql相关知识分享(一)

2023-12-06 20:49:51 972 5

原创 C语言联合和枚举讲解

C语言联合和枚举相关知识分享

2023-12-05 20:47:15 219 6

原创 C语言结构体讲解

C语言结构体讲解

2023-12-04 21:42:12 353 5

原创 C语言内存函数讲解

C语言内存函数使用和模拟实现

2023-12-03 13:16:57 294 3

原创 C语言字符串函数详解

C语言相关字符串函数的使用和模拟实现

2023-12-02 20:36:10 174 5

原创 【C语言指针详解】你对C语言指针了解多少?

C语言指针详解

2023-11-26 13:45:09 245 7

原创 C语言操作符详解

C语言操作符详解

2023-11-08 23:51:40 190 4

原创 C语言函数递归详解

讲解了C语言递归相关的知识

2023-11-06 21:36:40 235 3

原创 C语言扫雷游戏的实现

相信大家小时候都玩过一款经典的游戏——扫雷。《扫雷》是一款大众类的小游戏,于1992年发行。游戏目标是在最短的时间内根据点击格子出现的数字找出所有非雷格子,同时避免踩雷,踩到一个雷即全盘皆输。我们可以看到扫雷游戏可以有难度的选择,我们今天来讲解简单版本的扫雷。那我们分模块开始:1.实现控制台实现经典的扫雷游戏。2.游戏可以通过菜单实现继续玩或者退出游戏3.扫雷棋盘默认9*9的格子4.默认随机布置10个雷5.可以排查雷如果不是雷,就显示周围有几个雷如果位置是雷,就炸死游戏结束。

2023-10-31 17:30:22 124 5

原创 C语言函数超详细讲解

ret_type fun_name(形式参数)ret_type 是函数返回类型fun_name 是函数名括号中放的是形式参数{}括起来的是函数体//自定义函数名是自定义的,根据实际情况起名字//参数的个数也是根据实际情况而定,可以有0个参数,也可以有多个参数//函数的返回值 函数可以返回值,也可以不返回值,要根据实际情况而定,函数不返回值时,返回类型写成void现学现用:我们用自定义来写一个两个数的加法//{// int z;//}//上述的代码可以简写为。

2023-10-28 21:07:13 155 9

原创 C语言数组超详细讲解

总结:从输出的结果我们分析,数组随着下标的增长,地址是由小到大变化的,并且我们发现每两个相邻的元素之间相差4,(因为一个整型是4个字节)到这里为止呢,我们已经学会了一维数组的基本语法,一维数组可以存放数据,存放数据的目的是对数据的操作,那我们如何使用一维数组呢?有了下标访问操作符,我们就可以轻松的访问到数组的元素了,比如我们访问下标为7的元素,我们就可以访问到arr[8].//有了前面的知识,我们其实使用数组基本没有什么障碍了,如果我们要深入了解数组,我们最好能了解一下数组在内存中的存储。

2023-10-26 22:13:57 191 2

原创 C语言分支和循环

C语言详略得当的分享

2023-10-22 23:17:55 87 5

空空如也

空空如也

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

TA关注的人

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