自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 资源 (1)
  • 收藏
  • 关注

原创 C++---继承(单继承、多继承、菱形继承和虚拟继承)

为什么继承面向对象编程的主要目的之一是提供可重用的代码。传统的C函数库通过预定义、预编译函数实现。C++通过类继承实现,累继承的大致功能:可以在已有的类的基础上添加功能可以添加数据修改类方法的行为基类&派生类从一个类派生出另一个类时,原始类称为基类,继承类称为派生类。 首先定义一个基类,表示乒乓球会会员。// 乒乓球会会员类class Tab...

2018-07-31 17:18:13 537

原创 C++---六个默认成员函数

类类是一种将抽象转化为用户定义类型的C++工具,它将数据表示和操纵数据的方法组成一个简洁的包。类的大小实现来看一下什么都么有的类–空类 空类的大小为 1 ,这是为什么呢? 当创建一个空类时就要创建一个地址,来标识空类的地址,编译器往往会给一个空类隐含的加一个字节,这样空类在实例化后在内存得到了独一无二的地址,所以空类所占的内存大小是1个字节。 非空类的大小是怎么计算的...

2018-07-29 21:40:08 353

原创 C++---引用变量(&)

引用变量引用是已定义变量的别名创建引用int a;int & b = a; // b为a的引用引用(&),b 为 a 的别名在函数引用时,必须对其初始化一个变量可以有多个引用,一个引用只能指向一个实体a 和 b 指向的是同一块内存空间将引用作为参数引用作为函数参数,使得函数中的变量名成为调用函数程序中的变量的别名。这种传递称为引...

2018-07-29 14:23:11 10089 4

原创 C++---内联函数和宏函数的优缺点

内联函数内联函数是C++为提高程序运行速度进行的改进,是一种以空间换时间的做法。内联函数与常规函数常规函数运行程序时,常规函数调用会使程序跳到另一个地址(函数地址),并在函数结束时返回。 详细过程:执行到函数调用指令时,程序将在函数调用后立即存储该指令的内存地址,并将函数参数复制到堆栈(为此保留的内存块),跳到标记函数起点的内存单元,执行函数代码(也许还需要将返回值放入寄...

2018-07-28 23:05:07 2756

原创 剑指offer---二维数组中的查找

二维数组中的查找在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。我的解:(利用size函数求出数组的大小,利用两个for函数循环遍历数组,一次比较。因为数组是有序的,所以当数组内容大于target时即可返回false)bool Find(int target...

2018-07-25 22:57:07 304

原创 七大排序算法--快速排序及优化

快速排序简单快排快速排序(Quick Sort)也叫做分区排序,是目前应用最广泛的排序算法。在C++标准库中的排序程序就被称作qsort,因为快速排序是其实现中的最基本算法。是一种不稳定的算法。经过上面的图解,相信聪明的你们已经明白了快排的奥义 但是 这样的排序算法排序算法有一个致命的弱点,当序列已经是有序序列时,其递归树成为单枝树,成为最坏的情况优化快排三...

2018-07-24 23:38:45 644

原创 七大排序算法--归并排序及优化

归并排序利用分治法的思想,归并排序将待排序的元素序列分成两个长度相等的子序列,为每个子序列排序,然后再将他们合并成一个序列。 归并排序不依赖待排序元素的序列的初始排列,这样就避免了快排的最差情况。 在执行归并算法时,先将划分的子序列复制到辅助数组中,然后将子序列按顺序存到原数组中。 这是一个稳定的排序算法,时间复杂度为O(nlog2^n)。代码实现 首先将序列进行递归划分成最小...

2018-07-24 00:08:21 598

原创 图示讲解AVL平衡二叉树的左旋和右旋

AVLTree高度平衡的搜索二叉树 一棵平衡树,或是空树,或是具有以下性质的二叉搜索树:左子树和右子树都是AVL树,且左右子树的高度之差的绝对值不超过1。 该二叉树,根结点的右子树高度为3,左子树高度为2。结点上方的数字为平衡因子,因为右子树高度比左子树高度大1,所以根结点的平衡因子为1。 一颗平衡二叉树,如果有n个结点,其高度可保持O(log2^n),平均搜索长度也可以保持在O(l...

2018-07-22 22:58:55 23579 11

原创 二叉树--二叉搜索树的实现

搜索环境静态环境:搜索结构在执行插入和删除等操作的前后不发生变化。这种结构操作简单,效率不高,而且需要处理一出问题。 动态环境:为了保持较高的搜索效率,搜索结构在执行插入和删除等操作的前后将自动进行调整,结构可能会发生变化 前者称为静态搜索结构,后者称为动态搜索结构。二叉搜索树折半查找,每次从搜索序列的中间进行搜索,把区间缩小一半,通过有限次的迭代,很快就能逼近到所要寻找的元素...

2018-07-15 02:08:08 357

原创 MySQL---表的增删改查

增删改查是使用数据库时最常用的操作。增insert into 表名 [ ( 字段名 , ( 字段名 ) ) ] value (value , [, value ] ) ; 如果只给表的某几个字段赋值,则需要制定字段名给表中所有的字段名添加数据,不必写字段名插入的数据应该与字段的数据类型相同。使用desc 表名 可以查看字段类型数据大小应该在...

2018-07-14 00:33:53 566

原创 七大排序算法---堆排序

堆排序第一步:根据初始输入数据,利用堆的调整算法 siftDown() 形成初始堆 第二步:通过元素交换和重新调整堆进行排序。建堆(大堆)轻松教你建堆→ 上面链接是建立小堆的,建立大堆在理解小堆之后,也是能轻松写出来的。代码实现//构造函数maxHeap(T * arr, int sz) { heap = new T[sz]; ...

2018-07-11 22:10:33 304

原创 MySQL---数据库表的约束

表的约束真正约束字段的是数据类型,但是数据类型约束很单一,需要有一些额外的约束,更好的保证数据的合法性。空属性两个值:null(默认值)和 not null(不为空)数据库默认字段基本为空,但是实际应用是,不建议为空 默认值某一种数据会经常性的出现某个具体的值,可以在一开始就指定好,在需要真实数据的时候,用户可以选择使用默认值。 默认值生效后,数据在插入的时候...

2018-07-08 11:41:54 386

原创 堆---实现最小堆及堆的插入与删除

堆堆在优先级队列的各种实现中,是最高效的一种数据结构 假定在各个数据记录(或元素)中存在一个能够标识数据记录(或元素)的数据项,并将依据该数据项对数据进行组织,则可数据项成为关键码(key) 如果有一个关键码的集合K = {k0 , k1 , k2 , … , kn-1},把它的所有元素按完全二叉树的顺序存储存放在一个一维数组中。并且满足: ki <= k2i+1 且 ki &...

2018-07-07 23:52:10 30971 1

原创 二叉树---前中序数组建立唯一二叉树

二叉树的个数具有n个结点的不同的二叉树有多少种?这与用栈得出的从1到n的数字有多少种不同的排列具有相同的结论。 那么,利用给定了一颗二叉树的前序序列(ABHFDECKG)和中序序列(HBDFAEKCG)能否唯一的确定一颗二叉树?前序序列中,第一个字母A一定是数的根结点。中序序列中,被划分为两个子序列:((HBDF)A(EKCG)),这样与二叉树第一次近似。 然后,取前序序列的下一个...

2018-07-04 00:26:27 953

原创 队列---链式队列及双端队列实现

链式队列链式队列是基于单链表的一种存储方式。 在单链表的每一个节点中有两个域:data域存放队列元素的值,link域存放单链表下一个结点的地址。队列的队头指针指向单链表的第一个结点,队尾指针指向单链表的最后一个结点。队列的队头元素存放在单链表的第一个结点内,若要从队列中退出一个元素,必须从单链表中删去第一个结点。存放着新元素的结点应插在队列的队尾,即单链表的最后一个结点后面,这个...

2018-07-03 00:20:21 1235

课程设计HTML网上书城前端设计代码

简单的HTML语言,框架和设计都在一个文件,特别易懂,设计很具体,可以直接拿来用。

2018-07-24

空空如也

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

TA关注的人

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