- 博客(26)
- 收藏
- 关注
原创 容器适配器中stack queue priority_queue的介绍及模拟实现
适配器是一种设计模式(设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结),该种模式是将一个类的接口转换成他人希望的另外一个接口。
2023-01-11 22:00:00 679 24
原创 STL-list的接口使用及模拟实现
list是STL标准库提供的一个非常好用的存储容器,list的底层是一个带头双向循环链表,使我们学习STL的重点。
2023-01-09 00:00:00 284
原创 STL-vector的接口使用及模拟实现
vector是STL标准库提供的一个可变大小数组的序列容器的,底层使用的是连续的存储空间,是我们使用STL不可缺少的容器。
2023-01-07 00:00:00 396 8
原创 C++ 初识模板
函数模板的实例化:用不同类型的参数使用函数模板时,称为函数模板的实例化。模板参数实例化分为:隐式实例化和显式实例化。隐式实例化:让编译器根据实参推演模板参数的实际类型显示实例化:在函数名后的中指定模板参数的实际类型
2022-10-07 00:00:00 248 7
原创 C++的动态内存管理
我们知道C语言中使用malloc、free等来进行动态内存的管理,在C++中我们可以继续使用C语言内存管理方式,但有些地方就无能为力,而且使用起来比较麻烦,因此C++又提出了自己的内存管理方式:通过new和delete操作符进行动态内存管理,注意new/delete是操作符
2022-10-04 18:00:00 438 10
原创 C++类和对象 -下 默认成员函数和初始化列表
一个类中什么成员都没有,简称为空类。但是空类中真的什么都没有吗?答案:并不是的,任何类在什么都不写时也是有东西存在的,就是我们今天要学习的类的六个默认成员函数。默认成员函数:用户没有显式实现,编译器会生成的成员函数称为默认成员函数。六个默认成员函数分别是:构造函数、析构函数、拷贝构造函数、赋值重载、普通对象取地址重载、const对象取地址重载
2022-10-03 18:00:00 782 10
原创 Linux下的常见工具使用
首先我们了解windows下如果需要进行代码的编写、编译、链接、运行、调试工作,只需要下载一款IDE(集成开发环境)软件即可,Linux下是没有IDE集成软件的,那么如果我们想在windows下进行这些操作该怎么办呢?虽然Linux下没有IDE但是一个程序需要用到的工具Linux下都有,这些工具在windows下是集成的,在Linux下是分开的,所以这也是我们需要学习基本的Linux下的开发工具的意义所在。
2022-10-02 18:00:00 508 6
原创 Linux的基础指令
ctrl + a 输入命令时光标回到最开始的位置ctrl + e 光标移动到最末尾的位置ctrl + c 终止命令 不管输入错误了什么命令 直接ctrl + c 即可ctrl + fn + delete 复制内容 linux下ctrl + c v 是没有用的shift + fn + delete 粘贴内容...
2022-07-31 23:00:00 592
原创 C++类和对象-上
**用类类型创建对象的过程,称为类的实例化**1.类是对对象进行描述的,是一个模型一样的东西,限定了类有哪些成员,定义出一个类并没有分配实际的内存空间来存储它。2.一个类可以实例化出多个对象,实例化出的对象 占用实际的物理空间,存储类成员变量。......
2022-07-30 22:00:00 309
原创 C++基础篇之输入输出、函数重载、引用
**那么为什么C语言不支持函数重载而C++却支持呢?**因为C语言和C++的函数名修饰规则不一样,相同名字的函数,C语言的函数名修饰规则没法进行区分,而C++有单独的函数名修饰规则,相同名称的函数,C++会按照函数的参数个数,类型,以及顺序来分别进行函数名的修饰,从而产生区别,当编译器编译链接时就可以通过函数名的修饰规则来进行同名函数的区分,也就是它们之间虽然函数名相同,但却不是同一个,从而达到函数重载的效果。...
2022-07-29 08:00:00 676
原创 万字归纳总结并实现各大常用排序及性能对比
排序的概念排序:所谓排序,就是使一串记录或者数据,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,经过排序,这些记录的相对次序保持不变,即在原序列中,r[i]=r[j],且r[i]在r[j]之前,而在排序后的序列中,r[i]仍在r[j]之前,则称这种排序算法是稳定的;否则称为不稳定的。......
2022-07-26 20:00:00 331 4
原创 详解数据结构-二叉树
**树是什么?**树是一种非线性的数据结构,它是由n个有限结点组成一个具有层次关系的集合,如果n=0时,称为空树。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。......
2022-07-23 22:02:52 207 2
原创 详解C语言如何实现数据结构-栈
栈的概念及结构栈:它是一种特殊的线性表,它只允许在固定的一端进行插入和删除元素的操作。而用来进行**数据插入和删除操作**的一端叫做栈顶,另一端叫做栈底。栈中的数据元素遵守**后进先出**LIFO(Last In First Out)的原则。**压栈**:栈的插入操作叫做压栈/入栈 等,入数据只能在栈顶上操作**出栈**:栈的删除操作叫做出栈,出数据也只能在栈顶上操作...............
2022-07-21 00:37:23 603 4
原创 如何实现数据结构的带头双向循环链表
## **带头双向循环链表的好处是什么?** 带头双向循环链表是链表中结构最复杂的那一个,一般使用它来单独存储数据,在实际中使用的最多的链表数据结构,带头双向循环链表是最多的,虽然这个链表的结构复杂,但是相比于单向链表、带头单项不循环链表,双向带头循环链表优势更明显,使用更方便,实现反而也很简单。.........
2022-07-14 23:27:52 393
原创 C语言的编译和预处理
1.程序的翻译环境和执行环境第1种是翻译环境,在这个环境中源代码被转换为可执行的机器指令。第2种是执行环境,它用于实际执行代码。2. 程序如何编译和链接2.1翻译1.组成一个程序的每个源文件通过编译过程分别转换成目标代码。2.每个目标文件由链接器连接在一起,从而形成一个单一而完整的可执行程序。3.链接器同时也会引入标准C函数库中任何被该程序所用到的函数,它可以搜索程序员个人的程序库,将其需要的函数也链接到程序中。2.2编译编译阶段会有以下几个阶段:2.3.执行环境程序执行的过程:
2022-04-15 18:04:02 875 1
原创 结构体、位段、联合体(共用体)的大小如何计算
如果要计算结构体的大小,我们就必须知道结构体的内存对齐概念,下面来总结下结构体的内存对齐的几点要素:1. 第一个结构体成员在与结构体变量偏移量为0的地址处。 2. 剩余其他成员变量要对齐到某个数字(对齐数)的整数倍的地址处。 对齐数就是编译器默认的一个对齐数 与 该成员大小的较小值。 在VS中默认的值是8。3. 结构体总大小为最大对齐数(每个成员变量都有一个对齐数)的整数倍。
2022-03-26 19:42:35 907
原创 如何模拟实现strcpy库函数
首先我们先看下 strcpy这个库函数的返回值以及参数,返回值是char* 类型的是个地址,参数有两个,一个是char*另一个是const修饰的char*,先来看下这个库函数是如何使用。#include<stdio.h>#include<string.h> //strcpy库函数头文件int main(){ char ch1[20] = { 0 }; char ch2[] = "abcdef"; //前面说到s..
2022-03-20 20:14:04 301 2
原创 浮点型数据在内存中如何存储
要想理解浮点型数据如何存储,一定要搞懂浮点数在计算机内部的表示方法。(1).根据国际IEEE 754标准 任意一个二级制浮点数v可以转换为以下形式(-1)^S * M * 2^E(-1)^s表示符号位,当s=0,V是正数,当s=1,V是负数。M则表示有效数字,M的取值范围是大于等于1,小于2,因为二进制的数据存储不会超过2。2^E则表示指数位。(2).举个例子来说明十进制的5.0,转换为二进制是101.0,相当于1.01*2^2如果转换为上面v的格式 ,可...
2022-03-17 22:08:55 344
原创 【实现简易版扫雷小游戏】
想要实现扫雷小游戏需要做些什么?1.首先我们要创建两个二维数组,第一个用来展示给玩家供玩家扫雷的,第二个数组用来后面布置雷的,这个数组要扩大一圈,用来防止后面计算附近有几颗雷是边缘位置越界问题。2.先将第一个二维数组初始化为全0;再将第二个棋盘中部分位置上布置上雷。3.如何生成随机的雷,这里我们用srand函数以及time函数配合来完成随机值,以此来布置随即的雷。4.判断玩家输入的坐标是否是雷。5.玩家扫到不是雷的地方如何产生提示附近有几颗雷。具体如何实现,代码如下.(1).Li
2022-02-14 20:47:48 2184 2
原创 【详解如何一步步实现三子棋】
想要实现三子棋小游戏需要哪几步.1.三子棋首先我们要创建棋盘,创建一个二维数组三行三列,然后将棋盘初始化为全空格。2.如何将棋盘转换为网格状棋盘,如下图
2022-01-23 12:19:49 2596 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人