自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 资源 (2)
  • 收藏
  • 关注

原创 Lambda表达式

Lambda表达式

2022-06-06 18:01:15 118 1

原创 C++综合案例之机房预约系统

C++案例之机房预约系统,欢迎各位提出意见看法

2022-06-03 20:54:24 211

原创 虚拟机上Linux系统的网络连接and远程登录and文件传输

1. 准备条件:虚拟机vmware WorkStation,已经安装好Linux系统2. 虚拟机的网络连接 (1) 首先简单介绍一下虚拟机的三种网络连接方式:a. 主机模式: 相当于一个独立系统,与外部无法通信b. 桥接模式: 要求虚拟机与主机位于同一网段内,可以与外部通信,但是容易造成ip冲突c. NAT模式: 网络地址转换模式,共享主机ip...

2022-04-12 11:56:20 1483

原创 函数传参之入栈出栈问题

代码段:问题1: 参数入栈顺序问题2: add函数结束时,x,y变量被释放了吗#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <string.h>#include <stdlib.h>#include <time.h>#include <windows.h>int add(int x, int y){ return x + y;}int main(

2022-03-16 18:59:18 1399

原创 c/c++小项目之贪吃蛇1.0

1、头文件#pragma once#include <windows.h>#define WIDTH 60 //墙宽#define HIGH 20 //墙高#define XOFFSET 30 //墙x轴偏移量#define YOFFSET 2 //墙x轴偏移量typedef struct _body{ int x; int y;}BODY;typedef struct _snake{ ...

2022-03-16 16:36:27 763

原创 排序算法之堆排序

一、算法简介堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为O(nlogn),是不稳定排序。 在这之前需要先对堆有一个比较清楚的认识:堆是一个顺序存储的完全二叉树,其中每个结点的关键字都不大于其孩子结点的关键字,这样的堆称为小根堆。其中每个结点的关键字都不小于其孩子结点的关键字,这样的堆称为大根堆。同时,我们对堆中的结点按层进行编号,将这种逻辑结构映射到数组中就是下面这个样子该数...

2021-11-17 18:58:01 97

原创 十大排序算法之归并排序

一、算法简介 归并排序(Merge sort)是建立在归并操作上的一种稳定、有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。实现方法分为自上而下的递归自下而上的迭代二、原理1. 从下往上的归并排序:将待排序的数列分成若干个长度为1的子数列,然后将这些数列两两合并;得到若干个长度为2的有序数列,再...

2021-11-17 14:02:34 845

原创 十大排序算法之希尔排序

一、算法简介希尔排序是希尔(Donald Shell)于1959年提出的一种排序算法。希尔排序也是一种插入排序,它是简单插入排序经过改进之后的一个更高效的版本,也称为缩小增量排序,同时该算法是冲破O(n2)的第一批算法之一,希尔排序是非稳定排序算法二、原理希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。简单插入排序很循规蹈矩,不管数组分布是怎么样...

2021-11-17 13:55:45 171

原创 十大排序算法之快速排序

一、算法简介 快速排序使用分治法(Divide and conquer)策略来把一个串行(list)分为两个子串行(sub-lists)。本质上来看,是在冒泡排序基础上的递归分治法。在平均状况下,排序 n 个项目要 Ο(nlogn) 次比较。在最坏状况下则需要 Ο(n2) 次比较,但这种状况并不常见。事实上,快速排序通常明显比其他 Ο(nlogn) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来。对绝大多数顺序性较弱的随机数...

2021-11-17 12:13:26 907

原创 十大排序算法之选择排序

一、算法介绍选择排序是一种简单直观的排序算法,无论什么数据进去都是 O(n²) 的时间复杂度。所以用到它的时候,数据规模越小越好。唯一的好处可能就是不占用额外的内存空间了吧二、原理首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。三、程序#include <stdio.h>#include <stdlib.h>#defin.

2021-11-17 10:52:43 123

原创 十大排序算法之插入排序

一、算法介绍 对于少量元素的排序,它是一个有效的算法。插入排序是一种最简单的排序方法。 插入排序的平均时间复杂度也是 O(n^2),空间复杂度为常数阶 O(1),具体时间复杂度和数组的有序性也是有关联的。插入排序中,当待排序数组是有序时,是最优的情况,只需当前数跟前一个数比较一下就可以了,这时一共需要比较 N-1 次,时间复杂度为 O(N)。最坏的情况是待排序数组是逆序的,此时需要比较次数最多,最坏的情况是 O(n^2)。二、原理 通过构建有序序列,对于未...

2021-11-17 10:46:14 564

原创 十大排序算法之冒泡排序

一、原理它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端时间复杂度:二、动图、三、程序#include <stdio.h>#include <stdlib.h>#define L 10void printArray(int*);void bubbleSort(int*);i

2021-11-17 10:35:04 446

原创 排序算法简介

一、分类排序算法可以分为比较类排序和非比较类排序比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时间非比较类排序二、算法复杂度复杂度分为时间复杂度与空间复杂度两个指标,由于现在计算机硬件的发展,计算机内存大大提升,时间复杂度成为主要考虑因素。三、相关概念稳定:如果a原本在b前面

2021-11-17 10:21:55 229

原创 递归和迭代

一递归: 程序调用自身的编程技巧称为递归(百科解释)。也就是以相似的方式重复自身的 过程。在程序中表现为,在函数定义中直接或者间接的调用自身,常用的递归函数 特点:(A调用A) 分为“递推”和“回归”的过程,当“递推”到达底部时,也就是到达终止条件时,就会开始 “回归”,有去有回。 函数中的具体形式: Void recurs (argumentlist) ...

2021-11-15 12:21:19 195

原创 时间函数的使用 c/c++

c/c++的时间函数是使用一、明确几个时间概念Coordinated Universal Time(UTC):世界标准时间,也就是格林威治标准时间,中国位于东八区,中国内地的时间为UTC+8Calender Time:日历时间,从一个时间点(1970年1月1日0时0分0秒)到现在时间点所经历的秒数 Clock tick:时钟计时单元二、相关头文件: time.h tm结构:#ifndef _TM_DEFINEDstruct tm { in...

2021-11-13 18:13:47 280

原创 反向输出链表

/* 反向输出链表: 1.不改变链表结构:递归输出 2.改变链表结构:反转链表*/#include <stdio.h>#include <stdlib.h>typedef struct LNode{ int data; struct LNode * next;} LNode,*LinkList;LinkList initList( int n );void printList( LinkList...

2021-11-10 20:52:02 1259

原创 链表的创建、连接

/* 1.链表由数据域和指针域构成 2.头指针(必须有),头结点(一般含有,数据域可以包含一些链表信息的数据,指针域指向首元结点) 3.单链表的创建、连接 */#include <stdio.h>#include <stdlib.h>typedef struct LNode{ int data; struct LNode * next;}LNode,*LinkList;LinkList initList(int...

2021-11-10 13:23:25 952

原创 人脸检测之Opencv训练分类器

网上找了很多方法,自己做了一点总结:1.首先,准备好数据库,我用的MIT的人脸数据库2.创建一个工作用的文件夹,如D:/opencv_clssify3.

2021-06-06 21:12:38 974 1

c++综合案例之机房预约系统

c++综合案例之机房预约系统

2022-06-03

人脸识别之数据库MIT ORL YALE

MIT ORL YALE 数据库包

2021-06-06

空空如也

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

TA关注的人

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