自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 各类排序特性

选出一个关键值/基准值 key,把他放到正确的位置(最终排好序要蹲的位置),比6小的放左边,比6大的放右边。cur找小,如果找到比key小的,++prev,cur和prev位置的值交换,++cur。冒泡排序 O(N²) O(N) O(N²) O(1) 稳定。直接插入 O(N²) O(N) O(N²) O(1) 稳定。选择排序 O(N²) O(N²) O(N²) O(1)时间复杂度:O(N*logN)的量级,但是不是。把key的数据存起来,把key的位置当做坑位。

2023-06-13 18:00:35 69

原创 二叉树特性

4 (5 NULL NULL) (6 NULL NULL)右子树:(NULL 5 NULL) 4 (NULL 6 NULL)右子树:(NULL NULL 5) (NULL NULL 6) 4。左子树: 2 (3 NULL NULL) NULL。左子树:(NULL 3 NULL) 2 NULL。左子树:(NULL NULL 3) NULL 2。任何一棵树左子树的值比他小,右子树值比他要大。前序遍历:根,左子树,右子树。中序遍历:左子树,根,右子树。后序遍历:左子树,右子树,根。层序遍历:一层一层走。

2023-06-05 19:48:48 68

原创 友元和动态内存

说明日期类是时间类的友元类,则在日期类中就直接访问Time类中的私有成员变量。2. 内存映射段是高效的I/O映射方式,用于装载一个共享的动态内存库。1. 栈又叫堆栈--非静态局部变量/函数参数/返回值等等,栈是向下增长的。友元函数可以在类定义的任何地方声明,不受类访问限定符限制。a是b的友元,b是c的友元,不能说a是c的友元。友元函数可以访问类的私有和保护成员,但不是类的成员函数。会对数据的存储区域进行划分,划分的区域整体叫做。一个函数可以是多个类的友元函数。

2023-05-16 19:14:02 71

原创 运算符重载和友元函数

作为类成员函数重载时,它的形参比操作数数目少一个,因为有一个隐性的指针 this。返回值类型:T&,返回引用可以提高返回的效率,有返回值目的是为了支持连续赋值。如果没有自己写,编译器就会生成一个默认赋值运算符重载,以值的方式逐字节拷贝。编译器在后置++穿值的时候会在括号里面加数值,加的值跟编译器有关。用于内置类型的运算符,其含义不能改变,例如:内置类型的+参数类型:const T&,传递引用可以提高传参效率。赋值运算符只能重载成类的成员函数,不能重载成全局函数。2.自定义类型成员会去调用他的赋值重载。

2023-05-07 19:42:45 122

原创 this指针和构造析构

定义:只有单个形参,该形参是对本类型对象的引用(一般用const修饰),用在已存在的类类型对象创建新对象时由编译器自动调用。如果类中没有显式定义构造函数,则C++编译器会自动生成一个无参的默认构造函数,一旦用户显式定义编译器将不在生成。注:无参构造函数,全缺省构造函数,和编译器默认生成的构造函数,都可以认为是默认构造函数。我们不写,编译器默认生成构造函数,内置类型不做处理,自定义类型会去调用他的默认构造。1.一般情况下,有内置类型成员,就需要自己写构造函数,不能用编译器自己生成的。

2023-05-07 16:22:44 307

原创 命名空间,缺省函数,函数重载

因为在编译阶段只有头文件,里面只有函数的声明(如果直接是定义就能拿到,就不需要链接了)在不同的头文件中,相同的命名空间,当不同的同文件都被调用时,命名空间就会合并。概念:c++允许在同一个作用域内,命名几个不同的同名函数(返回值没有要求)概念:在函数定义部分进行赋值,作为默认值,当没有传参时,用参数的默认值,如果把局部内的和全局的都屏蔽了就会报错,因为不会主动去命名空间域内找数据。为什么c语言不支持,Cpp支持重载,Cpp怎么支持的呢?在N1的命名空间里找N2,找N2里的a。1.声明和定义不能同时缺省!

2023-04-20 17:36:23 50

原创 二叉树的概念

满二叉树:一个二叉树除了最后一层其他的子树结点树都达到了最大值(2个),总结点数是2的k次方-1。对于任何的二叉树,如果度为0其结点个数为n0,度为2的分支结点个数为n2,则有。完全二叉树:有h层,前h-1层都是满的,最后一层要求从左到右是连续的。高度为h的完全二叉树,节点数量范围。度为0的永远比度为2的多一个。完全二叉树度为1的最多为1个。二叉树是结点的一个有限集合。满二叉树是一种完全二叉树。

2023-04-18 09:39:11 40

原创 动态内存及其函数

2,当后面没有足够空间可以扩容,realloc函数会找一个满足空间大小的新的连续空间,把旧的。realloc在扩容的时候如果失败直接返回空指针,如果用之前的p就会把旧数据弄丢。空间的数据,拷贝到新空间的前面位置,并且把旧的空间释放掉,同时返回新空间的地址。void* malloc(size_t size)申请size大小的空间。1,后面有足够的空间可以扩容,直接在后边续上新的空间,返回旧的起始地址。ptr:之前由malloc,calloc,realloc开辟的空间。可以传变量,根据变量的多少申请多少空间。

2023-03-27 17:36:14 37

原创 位段的知识

位段的空间是一个一个开的,int 4字节,char 1字节,不够了才会往下开辟。位段的成员必须是int,unsigned int,signed int。(位段的最大数目不确定)早期16位机器int16现在32。后面的数字不能超过一个单位限制,int 32。(第一个剩下的15个用没用是根据编译器的)(一个里从左到右还是从右到左也是不确定的)(int是有符号还是无符号是不一定的)让成员不要再占用整个int32位了。位段成员名后有一个冒号和一个数字。后面的数字代表所占二进制位。2.2 位段的内存分配。

2023-03-24 20:39:26 42

原创 程序环境与宏

test.c[ [编译](3步) [链接]]test.exe (预处理) =[预编译] [编译] [汇编]在编译一个程序的时候,如果要讲一条语句(一组语句)编译或者放弃编译是很方便的,因为有条件编译指令。3.最后,再对结果文件进行扫描,看它是否包括任何由#define定义的符号。如果是,他们首先被替换。翻译环境:在这个环境中,源代码被转换为可执行的机器指令(二进制指令)最好改成#define SQUARE(X) ((X)*(X))会变成((a++)>(b++)?

2023-03-22 19:28:29 56

原创 memcpy和memove函数

07 00 00 00 取到了07 后面补0,结果还是7。指针指向的目标数组,指针指向的元素组,字节。memcpy函数 头文件string.h。memove函数 头文件string.h。arr2就变成1234500000了。也会是3456700000。如果除了字符串类型要复制。用来实现重叠内存的拷贝。参数和memcpy一样。如果要拷贝34567。

2023-03-18 20:39:40 213

原创 文件操作相关

如果从磁盘向计算机读取数据,则从磁盘文件中读取数据输入到内存缓冲区(充满缓冲区)或者主动刷新缓冲区,然后再从缓冲区逐个地将数据送到程序数据区(程序变量等),缓冲区大小根据c编译系统决定。系统自动地在内存中为程序中每个正在使用的文件开辟一块"文件缓冲区"从内存向磁盘输出数据会先送到内存中的缓冲区,装满缓冲区之后或者主动刷新缓冲区一起送到磁盘上。文件的内容不一定是程序,而是程序运行时读写的数据,比如程序运行需要从中读取数据的文件,或者输出内容的文件。每个被使用的文件都在内存中开辟了一个文件信息区。

2023-03-15 15:19:34 46

原创 原反补和大小字节序

数字在内存中存储的时候 大端字节序存储 是正着放的 小端字节序存储 是倒着放的 整形二进制表现形式为3种 原码:按照一个数的正负直接写出它的二进制表示形式得到的就是原码 反码:是原码的符号位不变,其他位按位取反,就是反码 补码:是反码+1 内存中存储的其实是:补码的二进制 所以在参与移位的时候,移动的都是补码 正数的原码,反码,补码是相同的 整形占4个字节(32bit) int a=10; 0最高位当成符号位000~(24个0)1010-原码 0000~(24个0)1010-反码

2023-03-08 18:14:15 71

原创 扫雷游戏代码

虽然是根据老师的代码进行优化修改,但是做出来真的很骄傲,毕竟是第一次做3个项目成的游戏,也是第一次写这么长的代码,觉得很有意义。 #define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> #include <stdlib.h> #include <time.h> #define ROW 9 #define COL 9 #define ROWS ROW+2 #define COLS COL+2

2022-11-10 22:42:11 783

原创 【无标题】

我是一个在长春工业大学环境工程的学生, 最近开始自学计算机,我的目标是在2024年考上上海大学计算机的研究生,并且学会各类编程语言,以便于我在研究生毕业后有着更加强大的竞争力,我准备再今后的时间里,每天跟着b站老师视频走,并且自己用电脑编译器打代码来提升自己能力,等学完后买真题进行锻炼,大概每天都会放在这上面3到4个小时。希望在研究生毕业以后可以进入到腾讯公司进行工作。

2022-10-16 01:09:14 83

空空如也

空空如也

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

TA关注的人

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