自定义博客皮肤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)
  • 收藏
  • 关注

原创 Data Structures (八) 排序

一、排序的稳定性。假设ki=kj(i!=j),并且在排序前的系列中ki领先kj。如果排序后ki仍然领先去kj,则此排序方法是稳定的,反之则不稳定。二、内排序和外排序内排序在排序过程中,待排序的所有记录全部被放置在内存中。外排序是由于排序的记录个数太多,不能同时放在内存,整个过程要在内外存之间多次交换数据。我们主要研究内排序。影响内排序性能的三个方面:1、时间性能;2、辅助空...

2019-01-10 16:15:49 170

原创 Data Structures (六) 堆

一、堆的定义如果有一个关键码的集合K={k0,k1,k2,,,,,,kn-1},把它所有元素按完全二叉树的层序顺序存储在一个一维数组中,并满足任意结点的值小于(大于)等于后代结点的值,则称为小堆(大堆)。#pragma oncetypedef int HeapDataType;typedef struct Heap{ HeapDataType * _arr; size_t _...

2019-01-09 18:46:36 174

原创 Data Structures (七) 查找

一、基于线性表的查找1、顺序查找法-----线性查找法 最基本的查找,查找过程是:从表中第一个或最后一个记录开始,逐个进行比较。这段代码很简答,只需从数组中找是否有这个元素即可,但是这并非完美,因为每次循环都需要对i是否越界判断。可以有更好的方法,设置一个哨兵,不需要每次让i和length比较。对于这种查找方法来说 最好的时间复杂度为O(1),最坏的时间复杂度为O(n)很显...

2019-01-08 23:57:37 203

原创 Data Structures(五) 图

一、图的定义:图是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为:G(V,E),G是一个图,V是图中的顶点集合,E是图中边的集合。注意:1、线性表中把数据元素叫做元素,树中叫做结点,图中则称为顶点。2、线性表中没有元素为空表;树中没有结点,叫空树;在图中,不允许没有顶点,强调了顶点集合的有穷非空。3、线性变相邻元素具有线性关系;树的上下两层具有层次关系;图的任意两个顶点...

2018-12-25 19:04:12 163

原创 Data Structures(四) 二叉树

一、树的定义我们之前在将的都是一对一的线性结构,而树是一种一对多的数据结构,属于非线性结构。树是一个n各节点的有限集合。n=0时为空。有且仅有一个特定的根节点。它的子树互不相交。结点的分类:一个节点拥有的子树的数量称为节点的度。度为0的节点称为叶子结点。树的度是树内节点的度的最大值。结点的关系:结点的子树的根称为节点的孩子,相应的该节点对于孩子节点为双亲结点。同一个双亲结点的孩...

2018-12-23 23:56:11 744

原创 Data Structures (三) 栈和队列

一、栈栈是一种限制的线性表,它插入和删除数据只能在栈的栈顶一段进行,另一端叫做栈底。它的数据有先进后出的特点。它的功能就是将数据从一种序列改变为另一种序列。栈从它的数据存储形式来分,有两种。1、用顺序存储形式-----顺序栈2、链式存储形式-----链式栈#pragma oncetypedef size_t DataType;//顺序栈的结构定义----采用动态顺序表...

2018-12-22 00:38:39 157

原创 Data Structures (二) 链表 附带链表常见面试题

一、链表一种链式存储的线性表,用一组地址任意的存储单元存储线性表的数据,称一个存储单元为一个结点。链表的分类:1、单链表;2、双向链表;3、带头指针链表;4、不带头指针链表;5、循环链表;6、非循环链表二、单链表:用一组任意的存储单元存放,位置可以使连续的,不连续的,零散的。结点包含两个域------数据域、指针域。数据域存放数据的值、指针域存放该元素的直接后继的地址,由于该结...

2018-12-20 18:02:33 142

原创 Data Structures(一)顺序表

线性表:在数据元素的非空有限集合中,除第一个元素无直接前驱、最后一个元素无直接后继,集合中其余每个数据元素都有唯一直接前驱唯一直接后继。线性表有顺序存储结构和链式存储结构两种存储方式。含有大量类型相同记录的线性表称为文件或数据对象。但是一个线性表中的数据元素必须属于同一个数据对象。因此线性表中相邻元素存在序偶关系。线性表的特点:1、同一性:同一数据类型2、有穷性:有限数据元素3...

2018-12-16 23:38:42 233

原创 C++探索智能指针

一、 RAII(Resource Acquisition Is  Initialization)资源分配即初始化,定义一个类来封装资源的分配和释放,在构造函数完成资源的分配和初始化,在析构函数完成资源的清理,可以保证资源的正确初始化和释放。RAII是一种思想,智能指针是RAII思想的一种应用。小知识:别的语言都有gc垃圾回收,即在堆上创建的内存,在不用这个对象时,会自动回收这些空间,使...

2018-12-09 15:39:57 132

原创 c++ String 类之深浅拷贝

一、string类的实现:存放字符串的指针、构造函数、拷贝构造函数、析构函数、赋值运算符重载1、无参数的构造函数 给数组初始化成,分配一个char空间存放‘\0’2、带参数的构造函数分配一个和传进来的参数多一的空间用来存放‘\0’,然后初始化时进行复制。3、带缺省值的构造函数(用这个更好,不用考虑为空,都初始化成 "")4、拷贝构造(浅拷贝、不采取) 吧传入的引...

2018-12-05 15:22:01 220

原创 c++ 模板

一、概念模板是泛型编程的基础。泛型编程就是编写与类型无关的逻辑代码,是一种复用的方式。模板分为模板类和模板函数。二、模板函数1、格式 :template<class 形参名1,class 形参名2........>                 返回类型   函数名(参数列表){。。。。}模板形参的定义既可以使用class,也可以使用typename,含义是相同的...

2018-12-04 23:02:46 172

原创 C++ 内存管理(c++高质量编程)

一、三种内存分配方式1、静态存储区:在程序编译时分配,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。2、在栈上创建分配:在执行函数时,函数内的局部变量的存储单元都可以在栈上创建,函数结束时这些单元会自动释放。栈内存分配运算内置于处理器的指令集中,效率高,但是分配的内存容量有限。3、在堆上分配,也叫动态内存分配。程序在运行时用malloc或new申请任意大小的空间,...

2018-12-03 19:27:02 180

原创 c++ 继承和多态

一、继承:是面向对象复用的重要手段。通过继承定义一个类,继承是类型之间的关系建模,共享共有的对象,实现各自本质不同的东西。三种继承关系——public 共有继承 、  protected 保护继承 、  private 私有继承              三种继承关系下基类成员在派生类的访问关系变化继承方式 基类的public成员 基类的protected成员 基类的...

2018-11-30 23:31:00 247

原创 c++ opp

一、面向对象基础C++不是纯面向对象语言,而是基于面向对象的。因为c++包含了c,c是面向过程的。面向对象的三大特性:封装、继承、多态类(class/struct)包含了数据(成员变量)和函数(成员函数)知识点一:三种访问修饰符public、protected、private1、public成员可以在类外部之间访问,其他两个不行。2、类中没有定义限定符,就默认为privat...

2018-11-26 23:50:40 406

原创 C++基础知识部分笔记

一、第一个程序1、c++头文件的新标准:  #include<iostream>   (旧c++风格可以写成  #include<iostream.h> 、  #include<cstdio>、  #include<cmath>等等。。在原c语言的头文件都可以使用,只需要把.h去掉,前面加上c  )2、名称空间: namespace   c+...

2018-11-25 17:41:14 126

原创 字符串、数组、指针总结(C语言)

一、字符串常量位于一对双引号中的任意字符,如果字符串文字中间没有间隔或间隔是空格符,ANSI C会将它串起来。例如char str[50]="hello" "wo" "you!";  和   char st[50]="wo,nihao!";     都是字符串。二、字符串数组及其初始化定义一个字符串数组时,必须要让编译器知道它需要多大空间。count char str[50]=...

2018-11-21 17:15:26 577

原创 Unity3D小实例(1) 20170916

本实例是一个简单的通过控制WASD和上下左右方向键分别控制吃小球的小游戏一:构建场景 1.创建一个Cube,通过设置它的Scale属性设置它的长宽高。 2.在它下面创建四个子对象,设置他们的 transform属性 调整的合适的位置当做围墙。 3.创建一个food游戏对象,把它设置为预制件(Prefab),设置食物的规格,copy出许多food对象随机放在cube上。 (特别说明)Prefa

2017-09-21 18:17:06 731

翻译 unity3d 菜单项解释

菜单项 File:文件。 Edit:编辑。 Assets:资源。 GameObject:游戏对象。 Component:组件。 Moblie Input: Window : 窗口。 Help:帮助。File Edit

2017-09-13 16:34:10 589

空空如也

空空如也

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

TA关注的人

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