- 博客(28)
- 收藏
- 关注
原创 c++内存管理——malloc calloc realloc free new delete operator new operator delete
new delete 和 malloc free 最大的区别是new除了开空间还会调用构造函数,delete除了释放空间还会调用析构函数。(对内置类型基本一样)1.调用operator new函数申请空间。2. 在申请的空间上执行构造函数,完成对象的构造。
2025-02-06 12:30:17
982
原创 C++——缺省参数、函数重载、引用、inline
用inline修饰的函数叫做内联函数,编译时C++编译器会在调用的地方展开内联函数,这样调用内联函数就不需要建立栈帧从而提升效率。
2025-02-01 11:54:12
628
原创 类和对象(中)---默认函数
构造函数的功能是实例化对象时初始化,并不是创建对象。类似于我们用c语言来写栈和堆时的Init赋值运算符是一个默认成员函数,用于完成两个已经存在的对象直接的拷贝赋值(与拷贝构造最大的不同,拷贝构造是对一个对象拷贝初始化给另一个要创建的对象。
2025-02-01 11:49:27
955
原创 算法带刷——轮转数组
每一次轮转时都将最后一个保存,然后将前一个的数值移到后面一个,直到数组的第一个为空时,我们将最先存储的数据放到第一个中,这样完成了一次轮转,最后用循环来控制次数。我们发现轮转k次就是把倒数第k个后面的(即把后k个)的数据放在前面,再将前size-k个数据放在后面的位置,我们可以定义一个新数组来完成以上操作。倒数第k个后面的(即把后k个)的数据放在前面,再将前size-k个数据放在后面的位置,可以合并成一个操作。这个方法将时间复杂度降到o(n),空间复杂度为o(1)
2024-10-21 17:13:48
377
原创 详解队列(带你五分钟了解队列)
概念:只允许在一段进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出的性质。入队列:进行插入操作的一端称为队尾出队列:进行删除操作的一段称为队头。
2024-10-21 14:53:27
583
原创 详解栈(五分钟快速了解栈)
栈是一种特殊的的线性表,其只允许一段插入和删除元素的操作。进行数据插入和删除的一端叫栈顶,另一端叫做栈底。栈遵循先进后出的原则。压栈:栈的插入操作叫做进栈、压栈、入栈。入数据的地方在栈顶。出栈:栈的删除操作叫做出栈。删除数据的地方在栈顶。栈的底层结构:一般是数组(其实数组和链表都可以实现栈,但链表在尾插入时时间复杂度为o(n),用数组来实现更有优势,代价更小)
2024-10-20 15:42:11
401
原创 详解单链表
(1)链式机构在逻辑上是连续的,在物理结构上不一定连续(2)结点一般都是从堆上申请(3)从堆上申请来的空间,是按照一定策略分配出来的,每次申请的代码可能连续,可能不连续。
2024-10-18 12:33:55
193
原创 算法复杂度
m因为在不同的环境、编译器等情况下每次算法运行的时间都会有所不同。我们没有办法算出实际使用时间所以我们假设每一条指令的时间是相同的,执行时间就和执行指令次数和指令执行时间成正比,我们就可以用执行次数来表示程序执行的快慢。即用T(N)函数来表示。计算算法在运行中因为算法的额外临时开辟的空间,因为常规情况下每个对象大小差异不会很大,所以我们用变量的多少来计算空间复杂度。(因为函数运行所需要的栈空间(存储参数,局部变量等在编译时已经确定好了,因此空间复杂度主要通过函数在运行时显示申请的额外空间来确定))
2024-10-13 15:02:07
413
原创 指针之我见(史上最全)
指针也是一个变量,也有地址,我们把指针的地址存储起来就叫二级指针.我们把数组的地址传给指针,指针里存放着数组的地址就叫数组指针。形如int (*p)[10], 该指针的类型是int(*)[10],*p表示p是一个指针,int [10]表示数组指针所指向的是一个大小为10个整形的数组我们将函数的地址传给指针,指针里存放着函数的地址就叫函数指针。形如:int(*pa)(int x, int y)
2024-08-12 15:47:52
537
原创 C语言初级扫雷小游戏详解
因为我们的扫雷小游戏的代码有些长,为了不显得太繁杂,我们分为test.c game.c game.h三个文件test.c写主程序。game.c写游戏的程序。game.h写头文件。
2024-07-31 17:55:08
995
原创 函数之我见
在写程序的过程中可能有一些功能需要实现但并没用与之对应的库函数就需要我们自定义函数,其实库函数就是我们经常能用到的一些函数,官方进行了统一不需要我们自己写大大提升了效率。
2024-07-25 23:22:44
662
原创 数组之我见
数组是一个相同类型数据的集合:1.数组存放一个或多个数据,但不为0。2.存放数据的类型是相同的。数组分为一维数组、二维数组和多维数组。
2024-07-21 22:08:45
356
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人