摘要:
摘自:http://blog.csdn.net/morewindows/article/details/6709644堆排序与快速排序,归并排序一样都是时间复杂度为O(N*logN)的几种常见排序方法。学习堆排序前,先讲解下什么是数据结构中的二叉堆。二叉堆的定义二叉堆是完全二叉树或者是近似完全二叉树。二叉堆满足二个特性:1.父结点的键值总是大于或等于(小于或等于)任何一个子节点的键值。2.每个结点的左子树和右子树都是一个二叉堆(都是最大堆或最小堆)。当父结点的键值总是大于或等于任何一个子节点的键值时为最大堆。当父结点的键值总是小于或等于任何一个子节点的键值时为最小堆。下图展示一个最小堆:由于其 阅读全文
摘要:
先看各自的概念:虚函数是动态联编的基础,它是引入派生概念之后用来表现基类和派生类成员函数之间的一种关系的。虚函数在基类中定义,它也是一种成员函数,而且是非静态成员函数。引自msdn:若一个实例方法的声明中含有virtual修饰符,则称该方法为虚拟方法;一个虚拟方法的实现可以由派生类取代。取代所继承的虚拟方法的实现的过程称为重写该方法;在一个虚拟方法调用中,该调用所涉及的那个实例的运行时类型确定了要被调用的究竟是该方法的哪一个实现。虚函数的限制:1.虚函数仅适用于有继承关系的类对象,所以只有类的成员函数才能说明为虚函数.2.静态成员函数不能是虚函数.3.内联函数不能是虚函数.4构造函数不能是虚函 阅读全文
摘要:
摘自:http://blog.csdn.net/Eric_Jo/article/details/4138548C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,本人根据各方面查到的资料进行总结如下,期望对朋友们有所帮助。Const 是C++中常用的类型修饰符,常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。一、Const作用 如下表所示:No.作用说明参考代码1可以定义const常量 const int Max = 100;2便于进行类型检查const常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安全检查,而对 阅读全文
摘要:
摘自:http://blog.sina.com.cn/s/blog_560480d50100nuxs.html变量可以分为:全局变量、静态全局变量、静态局部变量和局部变量。按存储区域分,全局变量、静态全局变量和静态局部变量都存放在内存的静态存储区域,局部变量存放在内存的栈区。按作用域分,全局变量在整个工程文件内都有效;静态全局变量只在定义它的文件内有效;静态局部变量只在定义它的函数内有效,只是程序仅分配一次内存,函数返回后,该变量不会消失;局部变量在定义它的函数内有效,但是函数返回后失效。全局变量和静态变量如果没有手工初始化,则由编译器初始化为0。局部变量的值不可知。1、局部静态变量在局部变量 阅读全文
摘要:
机器平台:X86_64 处理器操作系统:Red Hat 4.1.2-14编译器: gcc version 4.1.2 20070626Size of char is: 1Size of unsigned char is: 1Size of signed char is: 1Size of int is: 4Size of short is: 2Size of long is: 8Size of long int is: 8Size of signed int is: 4Size of unsigned int is: 4Size of unsigned long int is: 8Size o 阅读全文