自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++继承(下)

友元函数不能继承,换句话说父类的友元不能访问子类私有和保护成员。(不作为重点)

2024-09-25 22:08:09 400

原创 C++继承(上)

类成员/继承方式public继承protected继承public继承基类的public成员派生类的public成员派生类的public成员派生类的public成员基类的protected成员派生类的protected成员派生类的protected成员派生类的protected成员基类的private成员派生类中不可见派生类中不可见派生类中不可见解释:基类的private无论以什么方式继承都不可见。

2024-09-19 11:30:55 1084

原创 类与对象(4)

我们前面学习了构造函数,可以对成员变量进行初始化。格式:是以“ :”开始,以“ ,”隔开。1.初始化列表在语法上可以理解为每个成员变量定义初始化的地方,不能多次定义,所以每个成员变量只能初始化一次。2.引用成员变量、const成员变量、没有默认构造的类类型变量都必须放在初始化列表进行初始化。否则,编译报错。引用类型必须初始化,不初始化会报错。所以引用成员变量必须放在初始化列表中进行初始化。

2024-07-19 15:46:23 1012

原创 类与对象(3)

在上一篇博客中6个默认的成员函数,其中C++为了增强代码的可读性引入运算符重载,,也有返回值、形参。必须是C++规定的运算符必须有一个类类型参数类成员函数重载: .

2024-07-14 20:48:14 651

原创 二叉树的前序、中序、后序、层序遍历

就比如如下结构: 手搓一棵树代码实现:代码实现:代码实现:5.层序遍历层序遍历,顾名思义,就是一层一层遍历。这里就不用递归了,需要用到队列。采取的思想是父亲带孩子的思想。我们这里要用到队列,所以要有队列的程序。怎么把原先写好的代码放到二叉树的程序里呢?按照以下顺序:第一步:右击源文件,在添加里找到现有项,点击。第二步:在所在文件夹里找到队列的文件夹第三步:选中所要用到的,复制第四步:回到原来的文件夹里,粘贴以上两个 Queue.c和Queue.h第五步:将Queue.h移到头文件

2024-06-01 20:59:18 324 1

原创 【数据结构】队列的实现

队列只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有的原则。入队列:进行插入操作的一端称为队尾出队列:进行删除操作的一端称为队头。

2024-05-19 20:53:57 308 1

原创 类与对象(2)

无参的构造函数、全缺省的构造函数和编译器默认生成的构造函数。

2024-05-05 18:08:37 686 2

原创 类和对象(1)

因为我们前面说,成员函数是在公共区间内的,pp1和pp2并不会取A1和A2的所属空间去找,而A1的Print函数无成员,而A2的Print函数里使用“_a”,但是pp2不会到A2所属空间里寻找,所以会运行崩溃。Person类中有Init与Print两个成员函数,函数体中没有关于不同对象的区分,那当p1调用Init函数时,该函数是如何知道应该设置p1对象,而不是设置p2对象呢?封装是将数据和操作数据的方法进行有机结合,隐藏对象的属性和实现细节,仅对外公开接口来和对象进行交互。先来定义一个Person类。

2024-04-28 21:29:55 787 1

原创 C++入门2

函数重载是一种特殊的情况,C++允许在声明几个功能类似的同名函数,这些同名函数的,常用来处理实现功能类似数据不同的问题。

2024-04-17 20:58:52 344 1

原创 C++入门1

格式:namespace加上命名空间的名字,然后“{}”,括号中是命名空间的变量。int a = 0;//a是变量上面报错的代码用namespace代码这样写:int a = 0;//局部//全局a前面有“::”(前面是空),默认访问全局变量a。rand前“main1::”,就是访问命名空间main1中的rand变量。查找方式:编译默认查找:a.当前局部域b.全局域命名空间还可以嵌套int val;int main()

2024-04-12 21:11:06 665 1

原创 排序之【归并排序】

归并排序(Merge Sort)是建立在归并操作上的一种有效的排序算法。该算法是采用分治法的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合成一个有序表,称为二路合并。

2024-04-09 20:59:44 154

原创 【数据结构】栈的实现(C语言)

栈:是一种特殊的线性表,其之允许在一端插入和删除数据。插入和删除数据的一端叫做栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last in first out)的原则。(就类似于肉串一样)压栈:栈的插入操作叫做压栈/进栈/入栈。入的数据在栈顶。出栈:栈的删除操作。删除数据也在栈顶。

2024-04-02 22:04:49 862 1

原创 插入法排序和希尔排序

就是把待排序的数据按大小逐个插入到一个中,直到所有的数据都插完,得到一个有序序列。

2024-03-26 22:42:41 189

原创 数据结构-----堆的实现

删除最后一个元素,然后用。

2024-03-22 22:27:48 643 3

原创 设计循环队列

但是会发现,当插入第四个数时,rear会又回到和front一样的位置上,这样就很难判断何时未满和空的情况。此时可以定义一个size,当size==0时为空,size==k为满,但这样给我们写代码加了很多难度,不建议。一看到循环,大家应该很容易想到循环链表,但是循环链表在此题中没有很大优势,我们优先选择数组。再说找尾,找头很好找,但是找尾需要知道rear的上一个节点,那这样循环链表要变为双向循环链表,很麻烦。这样的确很好找头和尾,但是在删除最后一个数据的情况要特殊处理,也很麻烦。综上,我们使用数组进行处理。

2024-03-03 21:23:42 931

原创 编译和链接

图例或许会更清晰一点:

2024-01-16 21:50:13 883 1

原创 交换法排序和选择法排序

图解:分析:首先进行第一轮,假设有n个数,将第一个数和后面所有的数分别比较,如后面的数大,则交换这两个数的位置,共进行(n-1)次比较;这次比较后,就求出了最大值放在最前面。然后进行第二次比较,从第二个数比较,方法和第一次一样。到最后一次,剩下的最后一个数自然就为最小数。

2024-01-01 17:32:03 364

原创 【文件操作相关知识】

如果将数据持续化保存在电脑中,就要使用文件。在程序设计中,我们一般把文件分为两类:程序文件和数据文件。程序文件包括程序源文件(后缀是.c)、目标文件(windows环境后缀是.obj)、可执行程序(windows环境后缀为.exe)。

2023-12-16 18:51:11 50 1

原创 自定义类型:结构体

我们学过很多类型,如int,char,float,char,double等等,它们只能定义单一变量,但是如果描述一个复杂事物,比如书,人等,就要使用结构体了。结构体(struct)是一种用户自定义的可用的数据类型,允许存储不同类型的数据项。结构(体)是一些值的集合,这些值称为变量名3.结构体的创建和初始化 3.1结构体的创建 结构体的声明了解后,就可以创建结构体了。比如,描述一个学生3.2结构体的初始化如果想进一步看此学生的各种信息,就要初始化结构体代码如下:再进一步,可以

2023-12-05 22:33:10 49 1

原创 整数和浮点数在内存中的存储

其实超过一个字节的数据在内存中存储的时候,就有存储顺序的问题,按照不同的存储顺序,我们分为大端字节序存储和小端字节序存储,下面是具体的概念:大端存储模式:就是指数据的低位字节保存在内存的高地址处,数据的高位字节保存在内存的低地址处。小端存储模式就是指数据的低位字节保存在内存的低地址处,数据的高位字节保存在内存的高地址处。

2023-11-28 22:19:47 50

原创 小小【冒泡排序】

就是对待排的一组数从前往后排序,每次对相邻两个元素进项比较,若大于,则逆置,大于的数往后移;若小于,则不变。2.举例讲解例如:举一串数 --> 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,要把这组数变为1, 2, 3, 4, 5, 6, 7, 8, 9, 10。规律(1)数组有n个元素,共进行(n-1)次循环。(2)每次循环两两进行比较,大的数依次往后移,小数依次往前。3.代码实现int main()//完成逆置i < sz - 1;i++)

2023-11-25 17:29:10 42

原创 有序序列合并

依此类推,到最后会发现,数组arr2中还有数没有打完,所以要进一步把数组中的数打完,同时还要满足i2,输出2。假设arr1和arr2中的数据如下。思路通顺以后,就可以敲代码了。以上就是本题的思路和答案。

2023-11-09 17:39:37 40 1

原创 出土:人生第一篇博客

打算每天学习1-3小时,会根据每天的课程容量去调整时间安排,还要学习英语等一些科目。首先想到的肯定是华为、腾讯等一些大厂,或许最后的结果不尽人意,但要先敢想,才能付诸行动。其实有想过进入一个创业的公司,或许也是一个很不错的选择。本人是双非本科软件工程专业大一新生,刚学C语言没多久,算一个技术上的小白。但是,换句话说,我有很大的进步空间,也希望在以后的时间里能不断地突破自己,冲破舒适区,关关难过关关斩!2、打算在Java和C++中选一个比较适合自己的学习,不管哪一个,都要学好。好了,到这里就结束了。

2023-10-12 09:26:10 46 1

空空如也

空空如也

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

TA关注的人

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