自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 二叉树右视图

二叉树右视图

2016-05-06 09:55:55 828

原创 二叉树查找公共祖先

二叉树查找公共祖先

2016-05-04 19:56:47 631

原创 二叉树后序遍历算法

二叉树后序遍历

2016-05-04 19:54:34 868

原创 递归函数原理

递归函数实现原理

2016-04-27 10:18:53 4936

原创 递归和迭代区别

递归和迭代

2016-04-27 10:14:07 755

原创 C++虚函数运行机制

虚函数运行机制

2016-04-25 10:29:23 3888 1

原创 2.类在内存中是如何分配的

类在内存中分配方式

2016-04-24 20:32:06 635

原创 1.sizeof用法

sizeof类对象

2016-04-24 20:11:42 422

原创 C++ new分配失败运行机制

new分配失败运行机制

2016-04-24 16:39:44 518

原创 C++new实现机制

C++new实现机制1.new和delete最终调用malloc和free2.new操作数据类型两种:      2.1基本数据类型               int  *p=new int;               00E8139E  push        4         00E813A0  call        operator new (0E8117

2016-04-24 16:19:52 2660

原创 C++ 重载、覆盖(重写)、隐藏

重载、覆盖(重写)、隐藏1.重载:重载从overload翻译过来,是指同一可访问区内被声明的几个具有不同参数列(参数的类型,个数,顺序不同)的同名函数,根据参数列表确定调用哪个函数,重载不关心函数返回类型。示例代码如下:classA{ public:  voidtest(

2015-11-14 10:54:56 338

原创 C++堆和栈的分配

C++堆和栈的分配栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等,其操作方式类似于数据结构中的栈。堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收,注意它与数据结构中的堆是两回事,分配方式类似于链表。全局区(静态区)(static)—全局变量和静态变量的存储是放在一块的,初始化的全局变量和

2015-10-31 09:46:11 482

原创 C++基础编程----6.2函数

函数1.引用返回的是左值,可以赋值2.返回数组指针 int (*func(int i))[10]; int even[]={0,2,4,6,8}; int odd[]={1,3,5,7,9}; decltype(odd) *arrptr(int i)     //  decltype并不负责把数组类型转换成对应的指针类型,所以它的结果仍然是个数组 返回          数

2015-10-29 16:55:38 522

原创 C++基础编程----6.1函数

函数6.1函数基础 return:  1.返回值2.将控制权从被调用的函数转回到主调函数。 函数的返回类型不能是数组类型或者函数类型,但可以是指向数组的指针或者指向函数的指针。 int(*fun(int,int))[10];     //  返回指针数组 int(&fun(int,int))[10];     //  返回数组的引用  自动对象:  把只存在于块执行

2015-10-29 16:53:53 445

原创 C++基础编程----5.1try和异常处理

try和异常处理 异常是存在于运行时的反常行为,这些行为超出了函数的正常功能。 当程序的某部分检测到一个它无法处理的问题时,需要异常处理。 throw   try  catch子句1. throw表达式        throw表达式引发一个异常,表达式的类型就是抛出异常的类型。 if(item1.isbn()==item2.isbn())  throw runtime

2015-10-29 16:51:01 440

原创 C++基础编程----含有可变形参函数

省略符形参省略符形参仅仅是用于C和C++通用的类型,特别注意的是,大多数类类型的对象在传递时给省略符形参时是无法正确拷贝的。省略号的优先级别最低,所以在函数解析时,只有当其它所有的函数都无法调用时,编译器才会考虑调用省略号函数的。举例:#include               //  要处理不定参数的函数要包含头文件:#include  #includeusing

2015-10-25 08:49:39 654

原创 电梯调度算法

电梯调度算法由于楼层不高,那么繁忙的上下班时间,每次电梯从一层往上走,只允许停留在其中某一层。所有乘客都从一楼上电梯,到达某层楼之后,电梯停下来,所有乘客上自己的目的层。试问电梯停在哪一层,保证乘客爬楼梯层数之和最少?#includeusing namespace std;//   电梯停在哪一层   保证所有乘客爬楼梯层数最少//   返回值:楼梯层数    函数

2015-10-23 22:27:14 1447

原创 求N!二进制最低位1的位置

#includeusing namespace std;long long factorial(int N);templatevoid DemicalConversBinary(T llret);//  判断最低位为1的情形int lowestOne(long long);int main(int argc, char ** argv)

2015-10-22 15:39:00 906

原创 无头单链表删除随机节点

#include#include#includeusing namespace std;//  从无头单链表中删除节点//  假设一个没有头指针的单链表,一个指针指向此单链表中间的一个节点(不是第一个也不是最后一个节点),请将该结点从单链表中删除//  创建节点typedef struct  node{int data;struct node

2015-10-19 23:01:25 551

原创 数组中子数组最大值----分治思想

#includeusing namespace std;//  求数组中子数组的最大值    //  参数1:数组,参数2:数组起始位置,参数3:数组尾位置的下一个位置int MaxSum(int *,int,int);              int SelMaxValue(int,int,int);   //  选择最大值int Find_Max_Crossi

2015-10-17 21:13:40 493

原创 数组中求最大最小值

#include#includeusing namespace std;//  先判断数组是含有奇数偶数个元素,如果偶数个元素,将A[0]、A[1]最大最小值分别给Max、Min,从第二个元素两个两个进行比较,最大值给//  Max  最小值给Min//  如果为奇数个元素,将A[0]先分别置为最大最小值,两个元素两个元素比较后,较大的和Max比较,较小的和Min进行比较/

2015-10-17 21:12:11 1012

原创 C++基础编程----4.3表达式

表达式1.位运算符          1.1  一种名为bitset的标准库类型可以表示任意大小的二进制位集合。          1.2  运算符:~      >   &   |   ^(异或)          1.3  符号位如何处理没有明确的规定,强烈建议将位运算符用于处理无符号类型。          1.4   不要将位运算符和逻辑运算符(&&、||、!)搞混

2015-10-17 07:58:20 466

原创 C++基础编程----4.2运算符

运算符1.算术运算符           1.1   bool  b=true;     bool  b2=-b;      //   对大多数运算符来说,布尔类型运算对象将提升到整型运算对象,-b=-1,-1为非0,所以转换为true初始化b2.           1.2   溢出和其他算术运算异常                             溢出就是该类型计算的结

2015-10-17 07:57:25 463

原创 C++基础编程----4.1表达式

表达式1.定义           表达式是由一个或多个运算对象组成,对表达式求值将得到一个结果。字面值和变量是最简单的表达式,其结果就是字面值和变量的值。将运算符和多个运算对象组合起来构成复杂的表达式。2.基本概念           2.1 函数调用是个复杂的运算符,它对运算对象的数量没有限制。           2.2 使用重载运算符,运算对象类型和返回值都是由该运算符

2015-10-16 20:48:56 632

原创 C++基础编程----3.2多维数组

多维数组1.指针和多维数组             1.由多维数组名转换得来的指针实际上是指向第一个内层数组的指针                       int   ia[3][4];                       int   (*p)[4]=ia;            //   p指向含有4个整数的数组           2.      int   a

2015-10-14 21:17:28 505

原创 C++基础编程----3.1数组

数组数组是一种类似于标准库类型vector的数据结构,它们都可以存放同种类型的对象,对象本身没有名字,需要根据位置进行访问。不同之处在于,数组大小固定,注意:如果不清楚元素的确切个数,请用vector。        1.定义初始化数组                      1. unsigned  cnt=42;             string  bad[cnt];

2015-10-14 18:40:01 469

原创 C++基础编程----2.4迭代器

迭代器介绍我们已经知道可以使用下标运算符来访问string对象的字符或者vector对象的元素,还有一种更为通用的机制来实现相同的目的,这就是迭代器。 类似于指针类型,迭代器也提供了对对象的间接访问。使用迭代器可以访问某个元素,也可以从一个元素移动到另一个元素。迭代器和指针类似,可进行类比。1.使用迭代器                       1.1获取迭代器有专门的类型同时

2015-10-05 10:09:14 496

原创 C++基础编程----2.3标准库类型vector

标准库类型vector1.1vector概念                           (1)标准库类型vector表示对象的集合,其中所有的对象的类型都相同。集合中每个对象都有与之对应的索引号,索引用于访问对象。vector因为能容纳多个对象,所以又称为“容器”。                     (2)想使用vector,必须包含相应的头文件:

2015-10-04 19:14:46 572

原创 C++基础编程----2.2标准库类型string

标准库类型string

2015-10-03 17:04:56 647

原创 C++编程基础----2.1变量和基本类型

const限定符 指针 引用 预处理器

2015-10-02 20:21:09 542

原创 C++基础编程---1.3模糊概念

main函数 编译器 输入输出

2015-10-01 10:14:08 506

原创 C++基础编程----1.2程序创建技巧

程序创建的技巧

2015-09-29 15:09:36 544

原创 C++基础编程----1.1预备知识

面向对象编程 可移植性

2015-09-29 14:56:37 621 2

空空如也

空空如也

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

TA关注的人

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