自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 引用【超详细】【c++入门基础】

int a = 10;int& b = a;//引用在定义的时候必须初识化int c = 10;int& d;//未初始化d = c;

2024-04-01 10:02:39 907

原创 函数重载【超详细】【c++入门基础】

C++函数名相同 但是参数列表不同 修饰后的函数名不同 对应的地址不同,因此可以函数重载。

2024-03-26 02:31:44 302

原创 缺省参数【超详细】【C++入门基础】

缺省参数是声明或定义函数时为函数的参数指定一个缺省值。在调用该函数时,如果没有指定实参则采用该形参的缺省值,否则使用指定的实参。

2024-03-26 01:58:47 186

原创 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 525

原创 命名空间【超详细】【c++入门基础】

定义命名空间,需要使用到 namespace 关键字,后面跟命名空间的名字,然后接一对{}即可,{}中即为命名空间的成员。ⅰ. 命名空间里面可以包含变量,函数,类ⅱ. 命名空间不可以定义在局部作用域ⅲ. 命名空间可以嵌套定义int a = 10;

2024-03-26 00:59:32 433

原创 初识C++之c++发展史和c++关键字【c++入门基础】

C语言是结构化和模块化的语言,适合处理较小规模的程序。对于复杂的问题,规模较大的程序,需要高度的抽象和建模时,C语言则不合适。为了解决软件危机,20世纪80年代,计算机界提出了,支持面向对象的程序设计语言应运而生。1982年,Bjarne Stroustrup博士在C语言的基础上引入并扩充了面向对象的概念,发明了一种新的程序语言。为了表达该语言与C语言的渊源关系,命名为C++。因此,C++是基于C语言而产生的,它既可以进行,又可以进行,还可以进行面向对象的程序设计。

2024-03-26 00:34:34 222

原创 归并排序【超详细+代码】(递归+非递归)

将已有序的子序合并,从而得到完全有序的序列,即先使每个子序有序,再使子序列段间有序。Onlogn。

2024-03-25 00:25:04 933

原创 堆排序【超详细+代码】

所有元素按Ki​=K2i​2) i = 0 、1、 2… ,则 称为小堆 ( 或大堆) (将根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根堆。

2024-03-22 03:25:44 1080 1

原创 选择排序【超详细+代码】

第一次从待排序的数据元素中选出最小的一个元素,存放在序列的起始位置,最大的一个元素,存放在序列的末尾位置,然后再从剩余未排序元素中寻找到最小(大)元素,继续放在起始位置和末尾位置,直到未排序元素个数为0。On2。

2024-03-22 01:54:02 134 1

原创 快速排序【超详细+代码】(hoare+挖坑+前后指针)

任取待排序元素序列中的某元素作为基准值(key),按照该排序码将待排序集合分割成两子序列,左子序列中所有元素均小于基准值,右子序列中所有元素均大于基准值,然后最左右子序列重复该过程,直到所有元素都排列在相应位置上为止。onlogn。

2024-03-18 00:11:14 639

原创 冒泡排序【详细+代码】

1、:通过对待排序序列从前向后(从下标较小的元素开始),依次对相邻两个元素的值进行两两比较,若发现逆序则交换,使值较大的元素逐渐从前移向后部,就如果水底下的气泡一样逐渐向上冒。2、3、On2。

2024-03-13 00:28:11 366 2

原创 希尔排序【详细+代码】

1、基本思想:先选定一个整数作为增量(gap),把待排序文件(or数组)中的所有数据分组,每个距离的等差数列为一组,每一对分组进行排序后,整个数据就会更接近有序,当增量(gap)缩小为1时,就是插入排序,但是现在的数组非常接近有序,移动的数据很少,所以效率非常高,所以希尔排序又称为2、过程:1)预排序gap>1时,将距离为gap的分为一组 2)直接排序:gap=1On1.3(平均值)

2024-03-12 00:30:02 307 1

原创 直接插入排序【详细+代码】

代码的理解:1、排序开始前[0,end]是假想的有序区间;2、每次将第end+1个数作为待插入的值,往有序序列插入时,end的值会动态变化:当待插入值小于第end的数时,end向前移动,直到在有序区间中找到比待插入值小的数停止移动,将待插入值插入到end的后面。:先构造下标为 0~end 的有序序列(end的起始值为0),将第end+1个数字插入到序列中,直到最后一个数字插入到有序序列为止;在此期间更新end的值,使得有序序列在不断的扩大。直到所有的记录插入完为止,得到一个新的有序序列。

2024-03-11 21:11:09 336

原创 堆(详解)

的顺序存储方式存储 在一 个一维数组中 ,并满足: 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 394 1

原创 二叉树详解(储存+遍历+相关函数)

二叉树的组成:根节点 + 左子树 + 右子树。

2023-12-20 22:38:25 360

原创 树和二叉树(结构和概念)

树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。

2023-12-20 21:55:47 336

原创 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 835

原创 栈和队列(手撕)

栈:一种特殊的线性表,只允许在固定的衣服按进行插入和删除操作。数据插入和删除操作的一端称为栈顶,另一端称为栈底。队列:只允许在一段进行插入,在另一端进行删除操作的特殊线性表,压栈:栈的插入操作(进栈/压栈/入栈)队列遵循先进先出FIFO原则。入队列:进行插入操作的一端称为。出队列:进行删除操作的一端称为。遵循后进先出LIFO原则。出栈:栈的删除操作。

2023-11-20 10:05:45 38 1

原创 顺序表+链表(手撕)

一段物理地址连续的存储单元,依次存储数据元素的线性结构。特点:逻辑上是线性的,但物理结构上不一定是连续的。头部或中间插入删除时效率低,需要挪动数据O(n)概念:n个具有相同特性的数据元素的有限序列。空间不够需要扩容,有消耗,存在一定的空间浪费。动态顺序表:使用动态开辟的数组存储。静态顺序表:使用定长数组存储元素。只能从头部开始 连续存储。

2023-11-13 09:57:35 44

空空如也

空空如也

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

TA关注的人

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