自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 C++学习篇——构造函数与析构函数

原文链接:http://blog.chinaunix.net/uid-20773165-id-1847729.html1.C++规定,每个类必须有默认的构造函数,没有构造函数就不能创建对象。   2.若没有提供任何构造函数,那么c++提供自动提供一个默认的构造函数,该默认构造函数是一个没有参数的构造函数,它仅仅负责创建对象而不做任何赋值操作。   3.只要类中提供了任意

2015-09-26 07:56:22 317

转载 C++ 的构造/析构/赋值/拷贝函数比较

原文链接:http://blog.chinaunix.net/uid-10666692-id-1759590.html分类: C/C++第一段: C++ 和 C#/java 有很多区别,其中最大的区别当数对内存的管理。C++ 中,类的使用者决定了类的实例内存会如何分配,分配在堆上还是栈上。我们先看一段例子程序: #include "stdio

2015-09-26 07:25:25 504

转载 C++拷贝构造函数详解

原文链接:http://blog.csdn.net/lwbeyond/article/details/6202256一. 什么是拷贝构造函数首先对于普通类型的对象来说,它们之间的复制是很简单的,例如:[c-sharp] view plaincopyint a = 100;  int b = a;   

2015-09-26 07:15:09 364

转载 linux代码段,数据段,BSS段, 堆,栈

原文链接:http://blog.csdn.net/wudebao5220150/article/details/12947445 linux代码段,数据段,BSS段, 堆,栈网上摘抄了一些,自己组织好了,以便参考 !!!! 进 程(执行的程序)会占用一定数量的内存,它或是用来存放从磁盘载入的程序代码,或是存放取自用户输入的数据等等。不过

2015-09-25 15:20:34 505

转载 堆 栈 静态区

一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放 , 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。 3、全局区(静态区)(static)—,全局变量和静态变量的存

2015-09-25 15:13:04 361

转载 C++的那些事:类的拷贝控制

1,什么是类的拷贝控制 当我们定义一个类的时候,为了让我们定义的类类型像内置类型(char,int,double等)一样好用,我们通常需要考下面几件事: Q1:用这个类的对象去初始化另一个同类型的对象。 Q2:将这个类的对象赋值给另一个同类型的对象。 Q3:让这个类的对象有生命周期,比如局部对象在代码部结束的时候,需要销毁这个对象。

2015-09-25 14:14:36 392

转载 自增、自减运算符的前缀和后缀形式区别

原文链接:http://blog.xieyc.com/prefix-and-suffix-forms-of-the-increment-and-decrement-operators/2013年10月23日,参加航天九院772所的面试,其实是笔试+面试,试卷中有这么一道题目:12inta = 4;(++

2015-09-25 14:03:27 10425 4

转载 const 详解(修饰变量、输入参数、返回值、成员函数)

原文链接:http://blog.xieyc.com/const-in-detail/看到const关键字,程序员首先想到的可能是const 常量。const 更大的魅力是它可以修饰函数的参数、返回值,甚至函数的定义体。const 是constant 的缩写,“恒定不变”的意思。被const 修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。所以

2015-09-25 14:02:38 715

转载 c++基础---构造(析构)函数

原文链接:http://blog.csdn.net/richerg85/article/details/7592842基本的父子类:[cpp] view plaincopy#include   using namespace std;  class A  {  public:       A()  

2015-09-25 13:59:26 603

转载 C++笔试题整理

原文地址:C++笔试题整理作者:zelee1.new 、 、 malloc 、 free 关系会调用对象的析构函数 , 和 new 对应 free 只会释放内存, new 调用构造函数。 malloc 与 free 是 C++/C 语言的标准库函数, new/ 是 C++ 的运算符。它们都可用于申请动态内存和释放内存。对于非内部数据类型的对象而言,光用 maloc/free 无法满

2015-09-25 13:57:28 609

转载 一道关于C++继承类的面试题

#include   using namespace std;    class Base  {      int i;  public:      static int s;      Base():i(0)      {          cout"Base:Construct"        s++;      }      static 

2015-09-25 13:40:52 497

转载 浅谈C++类(4)--隐式类类型转换

原文链接:http://blog.csdn.net/vagrxie/article/details/1586340欢迎转载,但请标明作者 “九天雁翎”,当然,你给出这个帖子的链接更好。老规矩,看个例子,知道我要说的是什么。例4.0:#include #include using namespace std;class Fruit       

2015-09-25 13:40:27 300

转载 C++隐式转换各种发生情况

原文链接:http://developer.51cto.com/art/201002/183139.htmC++编程语言中的类型转换分为两种,一种为隐式转换,而另一种则为显式转换。我们在这篇文章中将会为大家详细介绍一下其中的C++隐式转换的各种发生情况,希望能帮助大家从中获得一些帮助。C++隐式转换发生在四种情况下* 在混合类型的算术表达式中int ival

2015-09-25 13:19:51 825

转载 VC++,掀起你的盖头来——谈VC++对象模型

原文链接: http://blog.csdn.net/wfwd/article/details/763797一个C++程序员,想要进一步提升技术水平的话,应该多了解一些语言的语意细节。对于使用VC++的程序员来说,还应该了解一些VC++对于C++的诠释。Inside the C++ Object Model虽然是一本好书,然而,书的篇幅多一些,又和具体的VC++关系小一些。因此

2015-09-25 13:00:56 351

转载 c语言详解sizeof

原文地址:http://blog.sina.com.cn/s/blog_5da08c340100bmwu.html一、sizeof的概念    sizeof是C语言的一种单目操作符,如C语言的其他操作符++、--等。    它并不是函数。    sizeof操作符以字节形式给出了其操作数的存储大小。    操作数可以是一个表达式或括在括号内的类型名。

2015-09-24 10:38:45 313

转载 c中strcpy函数的使用注意:(来源:c和指针)

原型:char *strcpy(char *dst, char const *src);dst 必须是个字符数组或者是一个指向动态分配内存的数组的指针,不能使用字符串常量。必须保证目标字符数组的空间足以容纳需要复制的字符串。例:char message[]="Original message";...strcpy(message,"A different

2015-09-24 10:38:07 558

转载 联合体(union)的使用方法及其本质

有些基础知识快淡忘了,所以有必要复习一遍,在不借助课本死知识的前提下做些推理判断,温故知新。1.联合体union的基本特性——和struct的同与不同union,中文名“联合体、共用体”,在某种程度上类似结构体struct的一种数据结构,共用体(union)和结构体(struct)同样可以包含很多种数据类型和变量。不过区别也挺明显:结构体(struc

2015-09-24 10:37:24 2143 1

转载 结构体struct 联合体union 及内存对齐

原文链接:http://blog.csdn.net/coolingcoding/article/details/7278555当在C中定义了一个结构类型时,它的大小是否等于各字段(field)大小之和?编译器将如何在内存中放置这些字段?ANSI C对结构体的内存布局有什么要求?而我们的程序又能否依赖这种布局?这些问题或许对不少朋友来说还有点模糊,那么本文就试着探究它们背后的秘密

2015-09-24 10:33:43 6810

转载 shift-And / shift-Or 算法

原文链接:http://www.cnblogs.com/longdouhzt/archive/2011/09/25/2190550.htmlShift-And算法思想较之KMP算法很简单,设模式字符串为P,它主要通过保存一个集合D(D中记录了P中所有与当前已读text的某个后缀相匹配的前缀),每当text有新的字符读入,算法利用位并行机制来更新这个集合D。  设P长度为

2015-09-23 08:19:52 2895

转载 KMP,深入讲解next数组的求解

原文链接:http://www.cnblogs.com/c-cloud/p/3224788.html前言    之前对kmp算法虽然了解它的原理,即求出P0···Pi的最大相同前后缀长度k;但是问题在于如何求出这个最大前后缀长度呢?我觉得网上很多帖子都说的不是很清楚,总感觉没有把那层纸戳破,后来翻看算法导论,32章 字符串匹配虽然讲到了对前后缀计算的正确性,但是大量的推理证明不

2015-09-23 08:19:04 394

转载 图说Rabin-Karp字符串查找算法

原文链接:Computer Algorithms: Rabin-Karp String Searching简介暴力字符串匹配(brute force string matching)是子串匹配算法中最基本的一种,它确实有自己的优点,比如它并不需要对文本(text)或模式串(pattern)进行预处理。然而它最大的问题就是运行速度太慢,所以在很多场合下暴力字符串匹配算法并不是那么有用

2015-09-23 08:18:03 1355

转载 KR ,Karp Rabin 算法

原文链接:http://blog.csdn.net/onezeros/article/details/5531354Karp Rabin 算法是利用hash函数的特性进行字符串匹配的。KR算法对模式串和循环中每一次要匹配的子串按一定的hash函数求值,如果hash值相同,才进一步比较这两个串是否真正相等也许你会有这样的疑问,在Brute force暴力匹配中,每一次都把模式

2015-09-23 08:16:33 2066

转载 【字符串系列】柔性字符串匹配代码实现

原文链接:http://www.cnblogs.com/jackiesteed/articles/2865457.htmlShiftAnd算法:#include #include #include #include using namespace std;typedef unsigned long long ULL;//ShiftAnd算法//

2015-09-22 15:29:51 615

转载 BK树

原文链接:http://blog.jobbole.com/78811/这是『超酷算法』系列的第一篇文章。基本上,任何一种算法我觉得都很酷,尤其是那些不那么明显简单的算法。BK树或者称为Burkhard-Keller树,是一种基于树的数据结构,被设计于快速查找近似字符串匹配,比方说拼写检查器,或模糊查找,当搜索”aeek”时能返回”seek”和”peek”。为何BK-Trees这么酷

2015-09-22 07:51:52 3591

转载 求二叉树中两结点的最小公共祖先

直接贴代码 [cpp] view plaincopy#include "stdafx.h"  #include   #include   using namespace std;    //定义二叉树的节点  struct BinaryTreeNode  {     char m_nvalue;     Binar

2015-09-21 17:53:45 703

转载 第一个只出现一次的字符

原文链接:http://blog.csdn.net/zhaojinjia/article/details/11888143来自:剑指offer分析:通过两次遍历字符串计算得到,第一次遍历字符串通过一个数组确定每个字符出现的次数,第二次遍历字符串确定第一个只出现一次字符是谁。时间复杂度为O(n)。[cpp] view plainco

2015-09-21 17:52:41 390

转载 判断树是否为平衡二叉树

来自剑指offer求树的深度用递归做很简单,只要知道递归出口语句的别写错。[cpp] view plaincopyprint?struct BinaryTreeNode  {      int m_Value;      BinaryTreeNode* m_pLeft;      BinaryTreeNode*

2015-09-21 17:50:57 408

转载 字符串全排列问题

原文链接:http://blog.csdn.net/zhaojinjia/article/details/9320475问题:输入一字符串(要求不存在重复字符),打印出该字符串中字符中字符的所有排列。例如:输入"abc",输出结果为abc, acb, bac, bca, cab和cba。方法一:比较笨,用一个整型数组,记录当前排列的下标,然后输出下标对应的字符串

2015-09-21 17:50:07 416

转载 两个栈实现队列 两个队列实现栈

为说明思想,假设队列、栈都很大,不会出现满的情况。1. 两个栈实现队列//前提已知:struct Stack{ int top;   //栈顶指针 int stacksize;//栈的大小 int *s;   //栈底指针};void InitStack(Stack *s);void Push(Stack *s, int k);in

2015-09-21 15:27:29 266

转载 判断二叉树是否平衡、是否完全二叉树、是否二叉排序树

1.判断二叉树是否平衡//求树的高度int TreeDepth(Node* t){ int hl,hr,h; if(t != NULL) { hl = TreeDepth(t->left); hr = TreeDepth(t->right); h = hl>hr? hl:hr; return h

2015-09-21 15:13:59 562

转载 二叉树的深度优先遍历

原文链接:http://blog.csdn.net/zhonghua18517/article/details/28238261二叉树的深度优先遍历和先序遍历结果一样的。 思想是采用栈, 首先将根结点压入栈,如果栈不为空,而后出栈并输出当前结点中值,而后先把右子树压入栈,再把左子树压入栈,再判断栈是否为空,循环.....步骤如下:(1) 树的根结点入栈(

2015-09-21 10:23:42 324

转载 轻松搞定面试中的二叉树题目

版权所有,转载请注明出处,谢谢!http://blog.csdn.net/walkinginthewind/article/details/7518888树是一种比较重要的数据结构,尤其是二叉树。二叉树是一种特殊的树,在二叉树中每个节点最多有两个子节点,一般称为左子节点和右子节点(或左孩子和右孩子),并且二叉树的子树有左右之分,其次序不能任意颠倒。二叉树是递归定义的,因此,与二叉树

2015-09-19 15:59:49 286

转载 二叉树前序、中序、后序遍历相互求法

原文链接:http://www.cr173.com/html/18891_1.html今天来总结下二叉树前序、中序、后序遍历相互求法,即如果知道两个的遍历,如何求第三种遍历方法,比较笨的方法是画出来二叉树,然后根据各种遍历不同的特性来求,也可以编程求出,下面我们分别说明。首先,我们看看前序、中序、后序遍历的特性: 前序遍历:     1.访问根节点     2.前序遍历

2015-09-19 09:14:33 211

转载 树和二叉树-层序遍历二叉树

通过上机实践,帮助学生进一步掌握指针变量和动态变量的含义,掌握二叉树的结构特性,以及各种存储结构的特点及适用范围,掌握用指针类型描述、访问和处理二叉树的运算。【实验内容】实验题目一:层序遍历二叉树【实验步骤】1 已知二叉树以二叉链表作为存储结构,写一个算法按层序遍历它,通过程序在终端屏幕上打印出它的层序序列。2 先建立二叉树的二叉链表存储结构,再遍历它。

2015-09-19 09:13:45 619

转载 编程之美之求二叉树中节点的最大距离(递归和非递归法)

原文链接:http://blog.chinaunix.net/uid-25254574-id-2141324.html#include#includeusing namespace std;//*************************************//题目://     求一棵二叉树中距离相差最远的两个结点之间的距离。//     // 

2015-09-19 09:13:05 557

转载 算法之二叉树各种遍历

树形结构是一类重要的非线性数据结构,其中以树和二叉树最为常用。二叉树是每个结点最多有两个子树的有序树。通常子树的根被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用作二叉查找树和二叉堆或是二叉排序树。二叉树的每个结点至多只有二棵子树(不存在度大于2的结点),二叉树的子树有左右之分,次序不能颠倒。二叉树的第i层至多有2的 i -1次方个结点;

2015-09-18 19:33:39 280

转载 [算法系列之一]堆排序

前序:(二叉)堆数据结构是一种数组对象,它可以被视为一棵完全二叉树。树中每个节点与数组中存放该节点值的那个元素对应。树的每一层都是填满的,最后一层除外。树的根为a[1] (在这里是从1开始的,也可以从0开始),给定了某个节点的下标i,其父节点为i/2,左二子为2*i,右儿子为2*i+1。二叉堆满足二个特性:1.父结点的键值总是大于或等于(小于或等于)任何一个

2015-09-18 18:14:36 362

转载 面试经之一道淘汰85%面试者的百度开发者面试题

本文在再次更新,感谢@PhoneGap提供另一中解题思路,,感觉那个方法也挺好的,大家可以看一下第三种解决方案。。刚在网上看到一篇文章,标题为 一道淘汰85%面试者的百度开发者面试题,感觉好难的样子,就默默的进去看了一下,首先来看一下原题吧。题目描述:依序遍历0到100闭区间内所有的正整数,如果该数字能被3整除,则输出该数字及‘*’标记;如果该数字能被5整除,则输出该数字及

2015-09-18 18:14:12 308

转载 [算法系列之二]二叉树各种遍历

【简介】树形结构是一类重要的非线性数据结构,其中以树和二叉树最为常用。二叉树是每个结点最多有两个子树的有序树。通常子树的根被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用作二叉查找树和二叉堆或是二叉排序树。二叉树的每个结点至多只有二棵子树(不存在度大于2的结点),二叉树的子树有左右之分,次序不能颠倒。二叉树的第i层至多有2的 i

2015-09-18 18:13:50 350

转载 二叉树中的那些常见的面试题

原文链接:http://www.cnblogs.com/BeyondAnyTime/archive/2012/08/27/2659163.html关于二叉树二叉树作为树的一种,是一种重要的数据结构,也是面试官经常考的东西。昨天看了一下关于树中的面试题,发现二叉树中的面试题比较常见的题型大概有下面几个:创建一颗二叉树(先序,中序,后序)、遍历一颗二叉树(先序,

2015-09-18 16:17:26 291

空空如也

空空如也

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

TA关注的人

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