- 博客(19)
- 收藏
- 关注
原创 引用【超详细】【c++入门基础】
int a = 10;int& b = a;//引用在定义的时候必须初识化int c = 10;int& d;//未初始化d = c;
2024-04-01 10:02:39
948
原创 缺省参数【超详细】【C++入门基础】
缺省参数是声明或定义函数时为函数的参数指定一个缺省值。在调用该函数时,如果没有指定实参则采用该形参的缺省值,否则使用指定的实参。
2024-03-26 01:58:47
230
原创 C++的输入和输出【超详细】【c++入门基础】
在C++中有cin标准输入和cout标准输出。在C语言中使用scanf和printf函数,需要包含头文件stdio.h。在C++中使用cin和cout,需要包含头文件iostream以及std标准命名空间。iostream,iostream的io分别是input(输入)和output(输出)的首字母,iostream的stream其实是英语单词stream(流)。iostram头文件包含了对输入输出流进行相关操作所需的基本信息,像我们在C++中常用的cin和cout便要在包含此头文件时才能投入使用。
2024-03-26 01:45:45
647
原创 命名空间【超详细】【c++入门基础】
定义命名空间,需要使用到 namespace 关键字,后面跟命名空间的名字,然后接一对{}即可,{}中即为命名空间的成员。ⅰ. 命名空间里面可以包含变量,函数,类ⅱ. 命名空间不可以定义在局部作用域ⅲ. 命名空间可以嵌套定义int a = 10;
2024-03-26 00:59:32
482
原创 初识C++之c++发展史和c++关键字【c++入门基础】
C语言是结构化和模块化的语言,适合处理较小规模的程序。对于复杂的问题,规模较大的程序,需要高度的抽象和建模时,C语言则不合适。为了解决软件危机,20世纪80年代,计算机界提出了,支持面向对象的程序设计语言应运而生。1982年,Bjarne Stroustrup博士在C语言的基础上引入并扩充了面向对象的概念,发明了一种新的程序语言。为了表达该语言与C语言的渊源关系,命名为C++。因此,C++是基于C语言而产生的,它既可以进行,又可以进行,还可以进行面向对象的程序设计。
2024-03-26 00:34:34
269
原创 堆排序【超详细+代码】
所有元素按Ki=K2i2) i = 0 、1、 2… ,则 称为小堆 ( 或大堆) (将根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根堆。
2024-03-22 03:25:44
1786
1
原创 选择排序【超详细+代码】
第一次从待排序的数据元素中选出最小的一个元素,存放在序列的起始位置,最大的一个元素,存放在序列的末尾位置,然后再从剩余未排序元素中寻找到最小(大)元素,继续放在起始位置和末尾位置,直到未排序元素个数为0。On2。
2024-03-22 01:54:02
197
1
原创 快速排序【超详细+代码】(hoare+挖坑+前后指针)
任取待排序元素序列中的某元素作为基准值(key),按照该排序码将待排序集合分割成两子序列,左子序列中所有元素均小于基准值,右子序列中所有元素均大于基准值,然后最左右子序列重复该过程,直到所有元素都排列在相应位置上为止。onlogn。
2024-03-18 00:11:14
713
原创 冒泡排序【详细+代码】
1、:通过对待排序序列从前向后(从下标较小的元素开始),依次对相邻两个元素的值进行两两比较,若发现逆序则交换,使值较大的元素逐渐从前移向后部,就如果水底下的气泡一样逐渐向上冒。2、3、On2。
2024-03-13 00:28:11
434
2
原创 希尔排序【详细+代码】
1、基本思想:先选定一个整数作为增量(gap),把待排序文件(or数组)中的所有数据分组,每个距离的等差数列为一组,每一对分组进行排序后,整个数据就会更接近有序,当增量(gap)缩小为1时,就是插入排序,但是现在的数组非常接近有序,移动的数据很少,所以效率非常高,所以希尔排序又称为2、过程:1)预排序gap>1时,将距离为gap的分为一组 2)直接排序:gap=1On1.3(平均值)
2024-03-12 00:30:02
820
1
原创 直接插入排序【详细+代码】
代码的理解:1、排序开始前[0,end]是假想的有序区间;2、每次将第end+1个数作为待插入的值,往有序序列插入时,end的值会动态变化:当待插入值小于第end的数时,end向前移动,直到在有序区间中找到比待插入值小的数停止移动,将待插入值插入到end的后面。:先构造下标为 0~end 的有序序列(end的起始值为0),将第end+1个数字插入到序列中,直到最后一个数字插入到有序序列为止;在此期间更新end的值,使得有序序列在不断的扩大。直到所有的记录插入完为止,得到一个新的有序序列。
2024-03-11 21:11:09
545
原创 堆(详解)
的顺序存储方式存储 在一 个一维数组中 ,并满足: Ki <= K2i+1 且 Ki<= K2i+2 (Ki >= K2i+1 且 Ki >=K2i+2) i = 0 , 1, 2…关键码的集合 K = {k0 , k1 , k2 , …将根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根堆。2、将堆的size--即可完成对堆根结点的删除。3、将换到根结点的元素向下调整,以保持堆的特性。堆的插入虽然是在顺序表中实现,但是在插入的时候要时刻保持。1、将刚插入的结点和他的父亲结点进行比较。
2024-01-16 23:53:03
460
1
原创 Linux基础命令
时间->时间戳:date +%s 时间戳->时间:date -d@1508749502 Unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp)是从1970年1月1日(UTC/GMT的 午夜)开始所经过的秒数,不考虑闰秒。-F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件;2、将文件 log1.txt ,log2.txt 移动到根的test3目录中:mv log1.txt log2.txt /test3。
2023-12-12 00:35:18
910
原创 栈和队列(手撕)
栈:一种特殊的线性表,只允许在固定的衣服按进行插入和删除操作。数据插入和删除操作的一端称为栈顶,另一端称为栈底。队列:只允许在一段进行插入,在另一端进行删除操作的特殊线性表,压栈:栈的插入操作(进栈/压栈/入栈)队列遵循先进先出FIFO原则。入队列:进行插入操作的一端称为。出队列:进行删除操作的一端称为。遵循后进先出LIFO原则。出栈:栈的删除操作。
2023-11-20 10:05:45
92
1
原创 顺序表+链表(手撕)
一段物理地址连续的存储单元,依次存储数据元素的线性结构。特点:逻辑上是线性的,但物理结构上不一定是连续的。头部或中间插入删除时效率低,需要挪动数据O(n)概念:n个具有相同特性的数据元素的有限序列。空间不够需要扩容,有消耗,存在一定的空间浪费。动态顺序表:使用动态开辟的数组存储。静态顺序表:使用定长数组存储元素。只能从头部开始 连续存储。
2023-11-13 09:57:35
74
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人