- 博客(12)
- 收藏
- 关注
原创 C++初始化列表
对于引用成员变量,const成员变量,没有默认构造的类类型变量,需要在初始化列表初始化。只需要在构造函数中加上冒号作为起点,需要初始化的成员括号后假如值或者表达式作为初始化。初始化列表中按照成员变量在类中声明顺序,进行初始化,与初始化列表中的出现顺序无关。 2.2.2 自定义类型,调用默认构造函数。 2.2.1 内置类型,取决于编译器设置。初始化列表是每个成员变量定义初始化的地方。2.1. 声明处有缺省值采用缺省值。进行显式写初始化列表的成员。没有在初始化列表的成员。
2024-09-19 21:21:21
282
原创 C++学习笔记3
构造函数是特殊的成员函数,其主要任务为在对象实例化时初始化对象。析构函数是在C++中用于清理对象在内存中占用的资源的特殊成员函数,与构造函数功能相反。一个构造函数的首个参数是对自身类类型的引用,其他额外的参数均有默认值。
2024-09-01 15:43:41
545
原创 排序算法学习笔记
冒泡排序时间复杂度:O(N^2)空间复杂度:O(1)稳定性分析:由于只有相邻两个数之间存在交换,只有需要变动位置的数的相对位置会改变。选择排序思路:遍历找到最大或者最小的值,放到第一位,找到第二大的,放到第二位,以此类推时间复杂度:O(N^2)空间复杂度:O(1)稳定性:在存在相等的数据下,由于交换操作,会将已排序好的数据变换,因此并不稳定插入排序思路:将数组分为有序区和无序区,从无序区中拿数插入到有序区中。时间复杂度:O(N^2)空间复杂度:O(1)
2024-07-31 21:16:18
472
原创 二叉树学习笔记
在了解二叉树之前,首先要了解比二叉树更大一级的概念,不仅是为了在学习二叉树的时候不至于不明白这两个具有包含关系的两个事物的相同之处,还是为了能够在有一个更为宏观的认知,不至于管中窥豹。
2024-07-25 22:25:03
859
原创 栈和队列题目练习笔记
可以想到负负得正,因此,只要经过两次栈,元素的顺序便能够变成正序使用,相比用队列实现栈更为简单,那么为了保证必定经过两次栈,我们需要固定一个栈来push,另外一个栈来pop便可以了。题目要求使用队列来实现一个栈,也就是说,要将先入先出的特性经过一定的操作转化为后入先出的特性,因此重点在于push和pop的操作,要将后出变成先出,就要看到出的过程是怎么样的,的,因此选择数组来做更为直观,那么在模拟的过程中,我们会遇到一个问题,那么就是判空和判满的情况下,头尾指针的关系是一样的,那么在。
2024-05-29 08:51:45
857
原创 栈和队列学习笔记
*定义:**一种线性数据结构,线性表的一种,在规定栈顶后,数据的出入皆由栈顶出入,栈可以使用链表或者数组进行实现。这里使用数组进行实现。
2024-05-25 21:00:37
601
原创 链表经典题目学习笔记
删除节点:对于这类题目可以将数组中的双指针思想对应搬过来,由于是将特定的节点进行删除,可以反过来思考,新建一个链表,只取非特定的节点,对应的特征是指明特定的节点。附上例题:[“删除链表中等于给定值 val 的所有结点”](https://leetcode-cn.com/problems/remove-linked-list-elements/description/对应解法:双指针筛选法。
2024-05-22 08:59:20
1790
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅