自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【接口】 C++

#include<iostream>using namespace std;//【抽象类】(带有纯虚函数的类,这个类不能实例化)class father { protected: int a; public: virtual void InterfaceFunction() = 0; //【纯虚函数】 = 【接口】(子类必须实现这个...

2019-11-29 17:03:44 68

原创 【C++基础】

#include<iostream>using namespace std; class Data { protected: //【封装】(把数据和操作数据的函数捆绑在一起的机制) int a,b; public: Data(int A,int B) //【构造函数】(与类同名,实例化对象时,属性的初始化) { ...

2019-11-27 18:11:13 131

原创 【浅谈C中的 struct 和C++的 class】

C中的structC中的struct主要是用来描述不同数据类型而产生的自定义的数据类型,即定义数据的复合。struct Data{ int a; float b; char c;};整个结构体中所包含的仅仅是数据,而没有函数(如要使结构体中包含对函数的操作,可以借助函数指针)#include<stdio.h>int Sum(int a,int b){ ...

2019-11-27 17:35:21 139

原创 【函数指针】

函数指针【函数指针】,顾名思义,就是指向函数的指针如下,定义一个int型的函数指针,可用来指向int型的函数int (*fun)(int,int);请注意区分【指针函数】如下,声明一个返回类型为int型指针的函数int* fun(int,int);函数指针的使用定义的函数指针只能指向相同类型的函数(包括类型、参数类型,参数个数)如下,定义的函数指针 ...

2019-11-27 16:13:59 109

原创 【static的作用方式】

相关知识:【作用域】 C语言(各变量的生命周期)https://blog.csdn.net/piano_diano/article/details/88981569【存储类】 C语言https://blog.csdn.net/piano_diano/article/details/88982871定义在全局:当在函数外定义一个static的静态变量时,这个变量可由整个文...

2019-11-26 18:02:44 107

原创 【C语言字符串常用函数】

#include<stdio.h>#include<string.h>int main(){ char s1[] ="abc123"; char s2[] ="123"; int n = strlen(s1); printf("---strlen()---\n计算s1串的长度:%d\n\n",n); n = strcmp(s1,s2);...

2019-11-26 17:31:38 322

原创 【C++文件流与文件操作】

ifstream和ofstream是类型名,表示输入和输出文件流ifstream file_in(fillname,openmode=ios::in);ofstream file_out(fillname,openmode=ios::out);参数 filename 是要打开的文件名,参数 openmode 是打开的模式,一般不用填,有默认值ifstream 默认打开模式为 io...

2019-11-25 15:58:25 240

原创 【归并排序——MergeSort】 稳定排序

归并排序的核心思想:即从最小单位的元素开始两两归并(2路归并)将要排序的数组中分成 n/2 个单个元素序列(n为数组的大小,单个元素的序列自然是有序的) 接着通过两两比较,将每两个有序的序列组成一个新的有序序列(两个元素的)(如果数组大小的奇数的话,那么会剩下一个1个大小的序列) 然后又将新的有序序列继续进行排序组成新的有序序列(四个元素、或三个元素).....直至组成完整的有序序列。...

2019-11-22 19:08:17 398

原创 【堆排序——HeapSort】 不稳定排序

堆排序:就是对数据堆进行操作,堆就是类似于正三角的数据结构,但数据结构里没有堆这个结构,但有类似的:完全二叉树。所以堆排序就是对完全二叉树的数据结构进行操作。堆排序相当于选择排序的改进版(选择排序类)堆排序的时间复杂度:O(nlogn)数组构造完全二叉树:用数组构造完全二叉树是极简单的,只要知道在完全二叉树中,非叶子结点 i 的左孩子是 2i ,右孩子是2i +...

2019-11-21 15:43:36 335

原创 【希尔排序——ShellSort】 不稳定排序

希尔排序是插入排序的改进版本(插入排序类)核心思想:原本插入排序是对一整个数组的数据进行逐个比较的,而希尔排序是将整个数组划分为若干部分,然后分别进行插入排序,形成基本有序的序列(小的基本在前面,大的基本在后面),最后对整个数组再用一次插入排序。希尔排序的时间复杂度:O(n)例如:以下是对数组进行间隔增量increment为2的分组,然后分别进行插入排序,最后再进行一次插入排序...

2019-11-20 21:21:34 391 1

原创 【插入排序——InsertSort】 稳定排序

假如一个数组只有1个元素,那么这个数组就已经是有序的了;假如这个数组有2个元素,那么就把a[1]当做是比较数temp,比较a[0],如果a[1]<a[0],那么就将a[0]右移一位(从小到大排序),接着在位置0插入temp;假如这个数组有3个元素,那么就把a[2]当做是比较数,比较a[0],a[1],如果a[2]<a[1],那么就将a[1]右移一位(从小到大排序),如果a[0]...

2019-11-20 18:11:48 258

原创 【简单选择排序——SelectSort】 不稳定排序

核心思想:从首位设为比较数开始,逐个对后面的数据进行比较,选择出最值,并记录其下标,一轮过后交换比较数和最值时间复杂度 O(n²)#include"stdio.h"void swap1(int a[],int i,int j){ int temp = a[i]; a[i] = a[j]; a[j] = temp;}void swap2(int* a,int* b){ in...

2019-11-20 16:24:43 170

原创 【冒泡排序——BubbleSort】 稳定排序

核心思想:相邻的数据两两比较,如果反序则交换时间复杂度 O(n²)例如以下程序:根据排序数组的大小来决定冒泡的次数:轮数(大小为10,则需要冒泡10次) 每一轮从最右边开始往左两两比较,如果下标大的数小于下标小的数则交换到左边,那么到达最左端时,会出现一个最小值(即每一轮都会确定下一个数)#include"stdio.h"void swap1(int a[],int i...

2019-11-20 16:00:12 184

原创 【二叉排序树】 查找与插入

#include<stdio.h>#include<stdlib.h>#include<string.h>#define Status int //二叉树结点typedef struct BINARYNODE{ int data; struct BINARYNODE* lchild; struct BINARYNODE* rchild;}B...

2019-11-16 20:55:49 147

原创 【&引用符号】

#include<stdio.h>void fun(int* &t); // & 符号 在不同的情况下作用是不同的// 1) 非声明时:取地址// 例: int* a = &b; //a的值是b的地址 // 2) 声明时:引用// 例: int &a = b; //a相当于b的别名,两者的地址是相同的 ...

2019-11-16 18:41:06 794

原创 【C语言指针】

这几天在复习数据结构的内容,然后就想着回顾回顾指针的内容了 QAQ#include<stdio.h>int fun(int *&a){ return 0; } void test01(){ int a = 100; printf("%p \n",&a); // &a 取a的地址,但是a是int型的,拥有4个字节(1个字节 = 8位) ...

2019-11-16 17:53:53 156 1

空空如也

空空如也

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

TA关注的人

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