自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 排序算法学习(三)

4.选择排序:不稳定排序,时间复杂度最差、平均为O(n^2),空间复杂度为1int main(){ int a[] = { 49,38,65,97,76,13,27,49 }; int N = sizeof(a) / sizeof(int); for (int i = 0; i < N - 1; i++) { int min = a[i]; int minIndex ...

2019-09-04 10:20:36 209

原创 排序算法学习(二)

3.归并排序:稳定排序,时间复杂度最差、最好、平均为O(n log n),空间复杂度为O(n)#include <iostream>using namespace std;// 二路归并(可以理解为两个有序数组的合并)void merge(int *a,int low, int mid, int high){ int *A = a + low; int lb = m...

2019-09-03 16:05:42 160

原创 排序算法学习(一)

稳定排序:在排序过程中,有相等的元素,在经过排序之后这些相等的元素之间相对次序保持不变,则该排序为稳定排序。反之,则为不稳定排序。1.快速排序:不稳定排序,时间复杂度平均为O(n log n),最坏情况下O(n^2),空间复杂度为O(log n)#include <iostream>using namespace std;int getIndex(int *a, i...

2019-08-21 13:39:34 168

原创 手动编写String类(C++)

#include <iostream>#include <string.h>#include <stdio.h>#pragma warning(disable:4996) // vs2015中运行strcpy()函数总是报错,屏蔽这个错误using namespace std;class String{private: char *data;...

2019-08-21 10:38:56 294

原创 栈的基本操作

在C++的容器适配器中直接有栈类型,也属于模板类,头文件为 <stack>在严蔚敏版数据结构中,给栈分配了初始容量,且在入栈操作时加入了容量判断,若当前容量已满则再扩大容量空间。其中设定了两个指针,一个栈顶指针,一个栈底指针。栈顶指针用于返回出栈元素,始终指向栈顶元素的上方,栈底指针用于扩大容量和与栈顶指针相比较判空等操作。以下为简单的栈操作,栈的模板类的表现形式:#in...

2019-08-20 11:28:01 154

原创 队列的基本操作

队列的链式结构实现:#include <iostream>#include <stdio.h>#include <stdlib.h>using namespace std;// 定义结点结构typedef struct node{ int data; struct node *next;}node;// 定义队列结构typedef ...

2019-08-20 09:58:49 117

原创 C++多线程学习笔记(一)

一.利用函数作为子线程入口(创建线程)使用thread类创建一个线程对象,用线程类调用线程的函数来实现多线程。main()函数内的线程被定义为主线程,在主函数外创建的函数或其他,作为线程入口传入线程函数,实现多线程执行。#include <iostream>#include <thread>using namespace std;void fun(){...

2019-08-06 15:23:25 180

原创 虚析构函数的意义

正常情况下,派生类的在继承基类之后,创建一个派生类的对象,势必先调用基类的构造函数,然后再调用派生类的构造函数。然后在程序结束之后,派生类的对象被撤销,那么会先调用派生类的析构函数,再调用基类的析构函数。然而在有多态的情况存在时,发生了改变:class Base{ ~Base(){};};class Derived : public Base{ ~Deri...

2019-08-04 19:04:08 236

原创 单链表的逆置

单链表的逆置(注:本代码没有头结点)1.首先按照正常顺序 p1 , p2 ,p32.然后在p2 -> next = p1;的时候已经实现第一步逆转(这个时候p2的next已经指向了p1)3.然后在依次将指针右移 p1 = p2;p2 = p3;(给本人理解:地址的赋值是指向,和值传递不同)4.这样原来的首节点已经是末结点了,把它的next指针置空作为结尾。5.把移动到...

2019-08-02 22:46:25 428

原创 单链表的基本操作

单链表的操作是数据结构中最基础的,每次看完就会忘,总是记个大概。总结一下:单链表中的单位是结点,那么结点中包含数据域和指针域,指针域指向下一个结点的地址。1、定义结点(定义结构)://定义结点结构typedef struct LNode{ int data; //数据域 struct LNode *next; //指针域}LNode...

2019-08-02 18:47:11 129

转载 运算符优先级

本文转自:https://blog.csdn.net/nicky_zs/article/details/4053146优先级 操作符 描述 例子 结合性 1 () [] -> . :: ++ -- 调节优先级的括号操作符 数组下标访问操作符 通过指向对象的指针访问成员的操作符 通过对象本身访问成...

2019-08-02 14:11:36 108

原创 对一个字符串内部的单词翻转输出(C++)

题目定义:输入abcd_def_hijk,默认字符串中单词之间的空格为1个,输出为dcba_fed_kjih。#include <iostream>#include <string>#include <vector>using namespace std;int main(){ string str; getline(cin,...

2019-07-31 14:30:22 463

原创 sort( )函数在结构体排序中的用法(C++)

需要头文件<algorithm> //algorithm译为:算法。语法描述:sort(begin,end,cmp),cmp参数可以没有,如果没有默认非降序(升序)排序。#include<iostream>#include<algorithm>#include<cstring>using namespace std;i...

2019-07-29 10:58:50 549

原创 继承的访问控制(C++)

派生类继承了基类中除了构造函数和析构函数之外的所有成员。一.公有继承1.基类的公有成员、保护成员在派生类中仍将保持原来的访问属性。2.派生类的成员函数可以访问基类的公有成员和保护成员,但是不能访问基类的私有成员。3.派生类以外的其他函数可以通过派生类的对象访问从基类继承来的公有成员。二.保护继承1.基类的公有成员、保护成员在派生类中都变成 protected 访问属性。...

2019-07-27 22:18:01 313 1

原创 char c[ ] 与 char *c 的区别

char c[] = "Hello world!";是分配一个局部数组。char *c = "Hello world!";是分配一个全局数组。局部数组是局部变量,它对应的是内存中的栈。全局数组是全局变量,它对应的是内存中的全局区域。字符串常量保存在只读的数据段,而不是像全局变量那样保存在普通数据段(静态存储区),如:char *c = "Hello world!";*c...

2019-07-26 13:49:27 4164

转载 数组指针、指针数组

首先要确定的是,后面两个字,决定了它是什么类型的东西(括号里面包着的内容决定后面两个字的性质)。数组指针(也称行指针)定义 int (*p)[n];()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。也就是说执行p+1时,p要跨过n个整型数据的长度。如要将二维数组赋给一指针,应这样赋值:int a[3][4];int (*p)[4...

2019-07-26 11:56:26 179

原创 两个有序数组合并为一个有序数组(C++)

#include <iostream>using namespace std;int *strC(int *strA,int lenA,int *strB,int lenB){ int *strC = new int[lenA + lenB]; int i = 0,j = 0,k = 0; while(i< lenA && j ...

2019-07-24 13:06:44 1709

原创 统计字符串中的大写字母、小写字母、数字、空格及符号(C++)

#include <string>#include <cctype>using namespace std;int main(){ string str; cout << "输入一个字符串分别统计大写字母、小写字母、空格的个数:" << endl; getline(cin,str); int a = 0,b...

2019-07-24 13:04:35 6645

转载 matlab数据归一化函数mapminmax

mapminmax一、[Y,PS] = mapminmax(X)函数功能:将矩阵的每一行压缩到 [-1,1],其中当前行的最大值变为1,最小值变为-1 。(这是默认的参数)扩展:(修改参数)1. [Y,PS] = mapminmax(X,YMIN,YMAX) 将矩阵的每一行压缩到 [YMIN,YMAX],其中当前行的最大值变为YMAX,最小值变为YMIN。2.[Y,P...

2018-07-19 15:28:04 7850

原创 BP神经网络学习笔记

(本文为自我总结的BP神经网络学习笔记,读者可能会有些地方不懂或者认为有错误的地方,请留言赐教或交流)神经网络的构成为:输入层、隐含层、输出层;每层都含有数个神经元;X1,X2,……,Xn 为输入层神经元,其中n为神经元的个数;h1,h2,……,hp为隐含层神经元,其中p为隐含层神经元的个数;隐层神经元的个数一般是由经验确定无固定公式,参照:p = √(n + m...

2018-06-20 15:13:15 2053

原创 sum函数在matlab中的应用

sum函数今天在运行程序的时候偶然看到一个sum函数,和平时用的不太一样,那么用例子总结一下这个函数:A = 1 1 2 4 5 2 1 3 4 1 1 3 4 2 5>> x1 = sum(A) %对矩阵的列求和,也可以写成s...

2018-06-14 14:22:11 5348

原创 PCA故障检测步骤

PCA故障检测步骤1.利用正常数据作为训练集,例如 A = 4 * 5;(此处4 * 5代表行列数,以下相同)2.标准化处理这个矩阵,即减去均值的方法,使得每列元素的平均值为0,那么各个元素的平方和就是方差;3.求得这个矩阵A的协方差矩阵,即C = (1 / 5) * (AT* A),C = 5 * 5;4.需要求出协方差矩阵的特征向量以及特征值,记为P1,P2,...

2018-06-13 15:06:41 6475 1

空空如也

空空如也

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

TA关注的人

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