自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (2)
  • 收藏
  • 关注

转载 #pragma once与#ifndef两种防止头文件二次编译的区别

在最开始接触到C语言的时候,看到很多大牛们写的代码里面就有#ifndef  #define #endif 这三条语句,当时不明白什么意思,慢慢的后来自己也开始用了,也知道了他们合起来使用时为了防止头文件被二次编译,因为我们曾经写代码的过程中一定遇到过等类似的错误吧。到了学习C++的时候,我们老师给我们看他的代码的时候发现他的头文件里用的是#pragma once,就奇怪这是什么呢?然后私下

2016-04-12 15:37:39 309

转载 C++中 #ifdef 和#endif的作用

预处理就是在进行编译的第一遍词法扫描和语法分析之前所作的工作。说白了,就是对源文件进行编译前,先对预处理部分进行处理,然后对处理后的代码进行编译。这样做的好处是,经过处理后的代码,将会变的很精短。   关于预处理命令中的文件包含(#include),宏定义(#define),书上已经有了详细的说明,在这里就不详述了。这里主要是对条件编译(#ifdef,#else,#endif,#if等)进行说

2016-04-12 15:33:36 600

转载 C++中的左值和右值

左值和右值的定义在C++中,可以放到赋值操作符=左边的是左值,可以放到赋值操作符右边的是右值。有些变量既可以当左值又可以当右值。进一步来讲,左值为Lvalue,其实L代表Location,表示在内存中可以寻址,可以给它赋值(常量const类型也可以寻址,但是不能赋值),Rvalue中的R代表Read,就是可以知道它的值。例如:int a=3;a在内存中有地址,而3没有,但是

2016-04-11 09:19:41 536

转载 C++中栈区 堆区 常量区

原文地址:http://blog.csdn.net/xcyuzhen/article/details/4543264#includevoid main(){char a[]="abc";栈 char b[]="abc";栈 char* c="abc";abc在常量区,c在栈上。char* d="abc"; 编译器可能会将它与c所指向的"abc"优化成一个地方

2016-04-10 15:18:04 475

原创 数组中重复的数字

1.问题:在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是重复的数字2或者3。2,想法和代码:class Solution {public: // Parameters:

2016-04-06 22:43:02 327

原创 关键路径算法

1,(部分转载)关键路径的算法是建立在拓扑排序的基础之上的,这个算法中用到了拓扑排序,所以在这里先以拓扑排序开篇。1. 什么是拓扑排序?举个例子先:一个软件专业的学生学习一系列的课程,其中一些课程必须再学完它的基础的先修课程才能开始。如:在《程序设计基础》和《离散数学》学完之前就不能开始学习《数据结构》。这些先决条件定义了课程之间的领先(优先)关系。这个关系可以用有向图更清

2016-04-06 18:09:12 3033

原创 error C2057: 应输入常量表达式

1, const int a[] = {1,2,3,4}; int f[a[2]];执行上边的语句会报错!解释:const数组a【】在编译的时候不知道其值,所以在编译的时候a[2]还不知道是多少,即是个变量,而intf[a2]]中a[2]必须要是个常量才行!2,而 const int m = 10; const int n = m; int f1[n];这样是可行的,解释

2016-04-06 12:54:44 14582 1

原创 剑指offer面试题之约瑟夫环问题

1,问题:每年六一儿童节,NowCoder都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为NowCoder的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m的那个小朋友要出列唱首歌,然后可以在礼品箱中任意的挑选礼物,并且不再回到圈中,从他的下一个小朋友开始,继续0...m-1报

2016-04-06 09:42:48 867

转载 STL STD::list使用说明

stl list使用说明使用标准的std::list进行容器数据处理时,操作比较底层。我们可以,减少引用标准MFC标准库,减少系统的大小,但同时也存在有不方便的操作之处,这里同大家分享一些使用心得......      在使用std::list::iterator链表遍历器进行访问list  STL 中的list 就是一 双向链表,可高效

2016-04-05 18:03:16 9272

原创 剑指offer面试题之扑克牌顺子

1,问题:从扑克牌中任意挑选五张牌,看是不是一个顺子,A看成1,K看成13,大小王看成任意数字。在这里用0代表大小王。2,想法:先把数字排序,扫描数组,记录0的个数,同时若在扫描时遇到非0的相等数,则肯定不是一个顺子,同时也要记录相邻两个数之间的间隔,比如1和3之间就间隔一个数2,这样我们扫描完后,看0的个数是否等于间隔个数就可判断。3,编码:class Sol

2016-04-05 16:22:57 495

转载 程序员有趣的面试智力题

转载请标明出处,原文地址:http://blog.csdn.net/hackbuteer1/article/details/6726419        偶然间在网上看到几个原来没见过的面试智力题,有几个题目在国内流传相当广,什么n个人怎么分饼最公平,屋里的三个灯泡分别由哪个开关控制,三架飞机环游世界,用火柴和两根绳子测量45分钟之类的题目,火星得已经可以考古了,这里就不再说了。

2016-04-04 21:50:09 401

原创 剑指offer面试题之和为S的连续正数序列

1,问题:小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列? Good Luck! 输出描述:输出所有和

2016-04-04 19:18:18 1505

原创 剑指offer面试题之二叉树中和为某一值的所有路径

1,问题:输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。2,想法:(1)一条路径肯定是从根节点到叶子节点,我们记录从根到叶子节点路径上值得累加,到了叶子节点时,判断是否等于number,从而确定是否是一条合法路径,但是有一个难点是记录路径上的节点。我们从树的先序遍历上得到启发,若已经判

2016-04-03 17:55:53 484

原创 最小的k个数

1,问题:输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。2,想法:(1),直接排序,然后选取前k个最小的数,时间o(nlogn)(2),采用冒泡排序的思想,最外层for循环为k,时间复杂度为O(kn)(3),采用快速排序中Partition的方法,找到第k大数字的位置,然后输出前k个数字。时间o(n

2016-04-03 16:43:50 373

转载 c++ STL中的set和multiset的使用

转载地址:http://blog.csdn.net/hnust_xiehonghao/article/details/7942541C++ STL set和multiset的使用std::set s;那个s这个对象里面存贮的元素是从小到大排序的,(因为用std::less作为比较工具。)1,set的含义是集合,它是一个有序的容器,里面的元素都是排序好的,支持插入,删除,

2016-04-02 22:16:27 1902

转载 STL学习笔记

转载地址:http://www.cnblogs.com/luxiaoxun/archive/2012/12/05/2803136.html#.string 建议  使用string 的方便性就不用再说了,这里要重点强调的是string的安全性。      string并不是万能的,如果你在一个大工程中需要频繁处理字符串,而且有可能是多线程,那么你一定要慎重(当然,在多线程下

2016-04-02 22:03:32 377

原创 剑指offer面试题之判断二叉搜索树的后序序列

1,问题:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。2,想法:后序序列的最后一个结点为根节点,根节点的左孩子树都比它小,右孩子树都比它大,所以可以根据最后一个结点把序列分成两个部分,分成两个部分后又可以继续递归判断。而递归的出口是,当递归到序列中只有一个孩子时,返回true,当当前根节点

2016-04-02 18:26:46 366

原创 剑指offer面试题之字符串的排列

1,输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 结果请按字母顺序输出。 2,想法:就是写一个全排列,另外再得到所有的全排列之后要有一个排序操作!不过还要注意的一个点是不能重复,比如字符串"aa",不能两次输出aa。3,编码:class Soluti

2016-04-02 16:41:57 529

转载 sizeof()计算一个类的对象大小和sizeof(string)的问题

http://blog.csdn.net/vangoals/article/details/4264512关于类的大小sizeof()的计算首先,来看看一个只有构造函数和析构函数的空类:[cpp] view plaincopy#include   using namespace std;  class Ba

2016-04-02 15:02:03 1332

原创 剑指offer面试题之左旋转字符串

1,问题:汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它!2,想法:看例子后,想到反转,先反转左边部分得到,cbaXYZdef,再旋转右边部分

2016-04-01 10:59:52 345

Kruskal实现最小生成树代码

Kruskal实现最小生成树,其中用并查集判别一条边是否是在同一连通分量中!

2015-10-29

xml关键字查询求SLCA代码

是对论文Efficient Keyword Search for Smallest LCAs in XML Databases的部分实现!

2015-10-29

空空如也

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

TA关注的人

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