- 博客(7)
- 收藏
- 关注
原创 full binary tree != 满二叉树
国内教材对满二叉树的定义:一棵深度为k且有2^k-1个结点的二叉树称为满二叉树. ————严蔚敏《数据结构(C语言版)》124页即达到饱和的二叉树。也可以这么定义:同时满足下面两个条件的二叉树称为满二叉树:(1)每个结点要么有两个子结点,要么没有子结点;(2)叶子结点只能出现在最后一层。下图是一棵符合国内教材定义的满二叉树:国际上对ful
2013-03-30 13:39:19
1761
原创 《C++ Primer 第四版》笔记(5)
第五部分 高级主题 [第17章 用于大型程序的工具] 通过异常我们可以将问题的检测和问题的解决分离。由问题检测部分抛出一个对象给处理代码,通过这个对象的类型和内容,两个部分能够就出现了什么错误进行通信。 异常以类似于将实参传递给函数的方式抛出和捕获。异常可以是可传给非引用形参的任意类型的对象,这意味着必须能够复制该类型的对象。 当抛出一个表达
2013-03-18 23:03:04
596
原创 《C++ Primer 第四版》笔记(4)
第四部分 面向对象编程与泛型编程 [第15章 面向对象编程] virtual的目的是启用动态绑定,除了构造函数和static成员函数之外,其他成员函数均可以是虚函数。virtual只能出现在类的声明处,不能出现在类外的定义处。 基类必须是已经定义的类,如果对一个类只进行了声明而没有定义,则这个类不能作为基函数。因为派生类必须知道基函数的成员都有哪些。这个
2013-03-18 23:02:34
582
原创 《C++ Primer 第四版》笔记(3)
第三部分 类和数据抽象[第12章 类] 类背后蕴含的基本思想是数据抽象和封装。 若一个函数为const,则函数的声明和定义部分均需指明const,否则将编译出错。 在类内部定义的函数默认为inline。inline函数的定义必须在调用该函数的每个源文件中是可见的,因此若在类外定义inline函数,则该函数的定义必须和类的声明放在同一个文件中。
2013-03-18 23:02:10
519
原创 《C++ Primer 第四版》笔记(2)
第二部分 容器和算法 [第9章 顺序容器] 三种顺序容器:vector、list、deque。三种顺序容器适配器:stack、queue、priority_queue。 容器容纳特定类型对象的集合,所有容器都是类模板。容器只定义了少量操作,大多数额外操作都由算法库提供。 顺序容器的元素排列顺序与元素值无关,而由元素添加到容器中的顺序决定。
2013-03-18 23:01:15
646
原创 《C++ Primer 第四版》笔记(1)
第一部分 基本语言[第2章 变量和基本类型] C++内置类型包括bool、char、wchar_t、short、int、long int、float、double、long double,C++标准定义了每种内置类型至少应该占用的位数,具体占用多少位数由每个编译器自己决定,在VC++2008中,每个类型占用的字节数分别为:1、1、2、2、4、4、4、8、8。 超过范
2013-03-18 22:56:14
994
原创 《C++面向对象程序设计》笔记
1、inline函数的定义要和声明在同一个文件中,不管它是在类内定义还是在类外定义。2、带默认参数的成员函数,默认参数的值若在函数声明时指定了,则在函数定义时不要指定,否则编译报错:重定义默认参数。3、关于const: 1)类的常数据成员的初始化只能通过构造函数的参数初始化表完成,不能在构造函数体中赋值; 2)const对象的所有数据成员都是const的,但成员函数不一
2013-03-18 22:53:58
684
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人