自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

鸟 的 天 空

The early bird catches the worm!!!

  • 博客(124)
  • 资源 (3)
  • 收藏
  • 关注

转载 野指针

讨论一什么是野指针?  一个母亲有两个小孩(两个指针),一个在厨房,一个在卧室,(属于不同的代码块,其生存期不同)母亲让在厨房的小孩带一块蛋糕(指针指向的对象)给在卧室的小孩,这样在卧室的孩子才肯写作业。但这个在厨房的小孩比较淘气,他在走出厨房时自己将蛋糕吃了,没能带出来。而在卧室的没有吃到蛋糕,所以不肯完成他的作业。结果母亲却不知道卧室的孩子没有吃到蛋糕,还以为作业完了。结果第二天她

2013-10-08 22:46:39 714

原创 内存对齐规则

在没有#pragma pack宏的情况下,内存对齐的规则如下:规则1:数据成员对齐规则:结构(struct)(或联合(union))的数据成员,第一个数据成员放在offset为0的地方,以后每个数据成员存储的起始位置要从该成员大小或者成员的子成员大小(只要该成员有子成员,比如说是数组,结构体等)的整数倍开始(比如int在32位机为4字节,则要从4的整数倍地址开始存储。 规则

2013-10-06 01:12:20 1201

原创 二叉树的前序、中序、后序遍历(非递归)

今天弄了一天的二叉树的前序、中序和后序遍历,分享出来,共同交流。        代码中采用先序遍历的方法创建二叉树,示例创建二叉树格式如下:创建过程中,以表示空节点。代码:#include #include typedef struct BTNode{ char data; struct BTNode *left; struct BTNod

2013-09-18 22:39:48 1033

原创 归并排序

#include #include #define MAXN 10void Merge(int array[],int start,int mid,int end){ int arra[MAXN]; int arrb[MAXN]; int lena = mid-start+1; int lenb = end-mid; int i,j,k;

2013-09-18 02:10:06 722

原创 堆排序

#includeusing namespace std;void HeapBottomUp(int arr[], const int size) { //使用自底向上算法,维护一个堆 for (int j = size - 1; j > 0; --j) { int parent = j / 2; i

2013-09-18 00:35:37 743

原创 简单排序

#include void SelectionSort(int * array,int n) //选择排序{ int i,j; for(i=0;i<=n-2;i++) { for(j=i+1;j<=n-1;j++) { if(array[i]>array[j]) {

2013-09-17 23:23:03 641

原创 将solr3.5整合到Tomcat6.x中

最近在学习Lucene,然后进入到solr中,没想到一开始,solr就给我来了这么困难的开头,希望万事开头难,以后可以顺利一点吧。记录下将solr3.5整合到Tomcat6.x中的过程,以及遇到的一个错误,希望对遇到这种问题的朋友有帮助。        配置过程:       1、创建一个solr的文件夹作为服务器的位置,里面再建两个文件夹一个home文件夹一个server文件夹。

2013-08-03 21:09:06 1245

原创 Heritrix1.14.4安装配置和使用

暑假将学习搜索引擎方面的技术,所以希望写下一系列的文章来记录学习的过程,这是第一篇,文章详细讲述了在myecli8.5上配置heritrix1.14.4和初次创建Job爬取页面的过程,相信对初学heritrix配置环境有一定的帮助,让大家不要把时间过多的浪费在配置的环节上。欢迎广大博友们拍砖交流!

2013-07-20 19:19:31 3256 1

原创 读者写者问题(一)

阅读MoreWindows大神的秒杀多线程系列至第十一篇读者写着问题,做一点小小的总结;       读者写者问题描述:有一个写者很多读者,多个读者可以同时读文件,但写者在写文件时不允许有读者在读文件,同样有读者在读文件时写者也不去能写文件,很简单的一个描述。      本文对于写者开始写文件时就将可读事件(g_hEventCanRead)设置为未触发状态,结束写作时将可读事件(g_hEv

2013-06-14 19:47:33 1474

原创 生产者-消费者问题

学习MoreWindows的《秒杀多线程系列》至第十篇生产者消费者问题,对于多线程也可以说是有了一知半解了,特作一篇博文进行一点总结。在此,非常感谢MoreWindows为我们大家提供这么好的学习资料。        生产者消费者问题描述:有一个生产者在生产产品,这些产品将提供给若干个消费者去消费,为了使生产者和消费者能并发执行,在两者之间设置一个具有多个缓冲区的缓冲池,生产者将它生产的产品放

2013-06-11 17:30:20 1111

原创 字符串转整数

在做网络互连的实验室的时候,无意中在pongo在线编程上看到得,被坑了,第一次交上去错了,没有判断int的范围,int的范围是-2147483648~2147483647,按照题目要求,转成整型后若结果大于2147483647,则输出2147483647;若结果小于-2147483648,则输出-2147483648.交错一次之后,就不能再提交了,所以不知道结果正确与否,先写在这,回去了再仔细研究

2013-05-29 16:03:23 795

原创 快速排序算法

快速排序的基本思想:快速排序又称为分区交换排序,是目前以知的平均速度最快的一种排序方法,采用一种分治的策略,是对冒泡排序的一种改进。其基本思想是:在待排序文件的记录中任取其中一个记录,通常选取第一个记录。以该记录的关键字为分界点(pivot),经过一趟排序后,将全部记录分为两部分:所有比分界点小的记录都存放在分界点之前,所有比分界点大的记录都排在分界点之后,然后再分别对这两个部分重复上述过程,直到

2013-05-26 23:51:09 806

原创 求1-n中数字1出现的次数

【编程之美】给定一个十进制正整数N,求出从1开始,到N的所有整数,数字1出现的次数。 例如,N=2,则两个数为1,2 。数字1出现的个数是1.又如n = 20.则20个数中1出现的为:1,10,11,12,13,14,。。。19 共有12个。设计一个算法,可以高效地求出1-N之间出现的1的个数。(主要考虑效率)。 分析:对于一个数abcde,出现1的次数可以通过计算各位中出

2013-05-25 23:01:04 1200 1

原创 求连续子数组的最大和

题意:一个整型数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和,求所有子数组的和的最大值,要求时间复杂度为O(n)。   例如输入的数组为1, -2, 3, 10, -4, 7, 2, -5,那么最大的子数组为3, 10, -4, 7, 2,因此输出为该子数组的和18。思考: 该题值得注意的有两点,其一,时间复杂度要求是O(n),否则直

2013-05-24 20:03:06 688

转载 openstack最新版本Folsom的7大组件

OpenStack目前有7个核心组件:Compute(计算), Object Storage(对象存储),Identity(身份证),Dashboard(仪表盘), Block Storage(块存储), Network(网络) 和 Image Service(镜像服务) 。下面依次进行解释:      Object Storage(代号为“Swift”) 允许进行存储或者检索文件。目

2013-05-21 14:12:13 1216

转载 ubuntu下ssh server服务配置

网上有很多介绍在Ubuntu下开启SSH服务的文章,但大多数介绍的方法测试后都不太理想,均不能实现远程登录到Ubuntu上,最后分析原因是都没有真正开启ssh-server服务。最终成功的方法如下:  Ubuntu 下安装 OpenSSH Server 是无比轻松的一件事情,需要的命令只有一条:  sudo apt-get install openssh-server(查看返回的结

2013-05-17 20:06:24 785

原创 C++ friend关键字详解

一、为什么使用友元       采用类的机制后实现了数据的隐藏与封装,类的数据成员一般定义为私有成员,成员函数一般定义为公有的,依此提供类与外界间的通信接口。但是,有时需要定义一些函数,这些函数不是类的一部分,但又需要频繁地访问类的数据成员,这时可以将这些函数定义为该函数的友元函数。除了友元函数外,还有友元类,两者统称为友元。友元的作用是提高了程序的运行效率(即减少了类型检查和安全性检查等都需

2013-05-05 19:39:04 1360

转载 const用法总结

http://www.cnblogs.com/lichkingct/archive/2009/04/21/1440848.html 一、 const修饰普通变量和指针const修饰变量,一般有两种写法:const TYPE value;TYPE const value;这两种写法在本质上是一样的。它的含义是:const修饰的类型为TYPE的变量value是不可变的。对于

2013-04-18 23:03:15 669

转载 C/C++中static关键字详解

转载自:http://www.cnblogs.com/yc_sunniwell/archive/2010/07/14/1777441.html 静态变量作用范围在一个文件内,程序开始时分配空间,结束时释放空间,默认初始化为0,使用时可以改变其值。静态变量或静态函数只有本文件内的代码才能访问它,它的名字在其它文件中不可见。用法1:函数内部声明的static变量,可作为对象间的一种通信

2013-04-18 16:28:31 653

转载 ioctlsocket()详解

转载自:http://zjqzy03080312.blog.163.com/blog/static/185742807201221393357799/简述:  控制套接口的模式。  #include   int PASCAL FAR ioctlsocket( SOCKET s, long cmd, u_long FAR* argp);  s:一个标识套接口的描述字。  cm

2013-04-14 14:15:44 2709

转载 线程中CreateEvevt、SetEvent与WaitForSingleObject的用法

转载自:http://chinaxyw.iteye.com/blog/548622首先介绍CreateEvent是创建windows事件的意思,作用主要用在判断线程退出,程锁定方面.CreateEvent 函功能描述:创建或打开一个命名的或无名的事件对象.EVENT有两种状态:发信号,不发信号。 SetEvent/ResetEvent分别将EVENT置为这两种状态分别是发信

2013-04-14 12:31:46 798

转载 套接字选项(getsockopt()与setsockopt())

转载自:http://blog.csdn.net/bat603/article/details/1144223getsockopt 和 setsockopt 获得套接口选项: 代码: int getsockopt ( int sockfd, int level, int optname, void * optval, socklen_t *opteln ) 设置套接口选项:

2013-04-10 20:06:28 868

转载 套接字类型

转载自:http://www.cnblogs.com/istrong/archive/2012/06/10/2544357.html 1、数据流套接字(Stream Socket)数据流式是一种面向连接的Socket,针对于面向连接的TCP服务应用,使用使用比较高质量的TCP协议。它有以下一些特点:(1) TCP提供可靠的连接。当TCP向另外一端发送数据时,它要求对方返回一个确认回

2013-04-10 15:15:33 1109

转载 sockaddr、sockaddr_in、struct in_addr的区别联系

转载自:http://godmatrix.blog.163.com/blog/static/98512239200911307649743/ struct sockaddr { unsigned short sa_family; /* 地址族, AF_xxx */ char sa_data[14]; /* 14字节的协议地址*/ }; 上面是通用的socket地址,具体到I

2013-04-10 13:53:59 1161

转载 WaitForSingleObject()

转载自:http://yijiuzai.blog.163.com/blog/static/103756727201043073124192/       用户模式的线程同步机制效率高,如果需要考虑线程同步问题,应该首先考虑用户模式的线程同步方法。  但是,用户模式的线程同步有限制,对于多个进程之间的线程同步,用户模式的线程同步方法无能为力。这时,只能考虑使用内核模式。  Windo

2013-04-09 22:50:03 1281

转载 多线程笔试面试概念问答

第一题:线程的基本概念、线程的基本状态及状态之间的关系?线程,有时称为轻量级进程,是CPU使用的基本单元;它由线程ID、程序计数器、寄存器集合和堆栈组成。它与属于同一进程的其他线程共享其代码段、数据段和其他操作系统资源(如打开文件和信号)。线程有四种状态:新生状态、可运行状态、被阻塞状态、死亡状态。状态之间的转换如下图所示:第二题:线程与进程的区别?

2013-04-08 20:55:27 704

转载 线程的状态转换图

线程在一定条件下,状态会发生变化。线程变化的状态转换图如下:   1、新建状态(New):新创建了一个线程对象。  2、就绪状态(Runnable):线程对象创建后,其他线程调用了该对象的start()方法。该状态的线程位于可运行线程池中,变得可运行,等待获取CPU的使用权。  3、运行状态(Running):就绪状态的线程获取了CPU,执行程序代码。  4、阻塞状态(Blocke

2013-04-08 20:49:58 1804

原创 字符串全排列和组合算法

一、全排列的递归实现为方便起见,用123来示例下。123的全排列有123、132、213、231、312、321这六种。首先考虑213和321这二个数是如何得出的。显然这二个都是123中的1与后面两数交换得到的。然后可以将123的第二个数和每三个数交换得到132。同理可以根据213和321来得231和312。因此可以知道——全排列就是从第一个数字起每个数分别与它后面的数字交换。找到这个规律

2012-12-02 13:52:47 722

原创 2012ACM/ICPC成都赛区现场赛K题---Yet Another Multiple Problem(hdu4474)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4474      题意:一个简单的BFS,用没出现的数字进行BFS,最后递归输出结果。     题解:如果当前在队首的为n ,则接下来要进队的是m=(n*10+i)%n;若m=0,则递归输出结果,相同的m只需进队一次。代码:#include #include#includeu

2012-12-01 16:23:13 940

原创 2012ACM/ICPC成都赛区现场赛I题---Count(hdu4472)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4472    题目大意:给你N个节点,求用这N个节点组成的轴对称的异构的树的数量。    思路:n=1时,只有一颗;n=2时,也只有一颗,n=3时,有两颗;关于根节点那一个轴对称,则根节点下一定是m颗都含有k个节点的树,而且m*k=n-1(除去根节点);即n个节点组成对称树的数量等于1....n

2012-12-01 16:12:23 903

原创 2012ACM/ICPC成都赛区现场赛A题---Browsing History(hdu4464)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4464     题意:水题,给n个web地址的字符串,求ASCII码和最大的一个,并输出其ASCII值。 代码 :#include#includeint get(char * s){ int len = strlen(s); int sum = 0;

2012-12-01 15:57:18 846

原创 2010成都赛区网络赛第五题---Food(hdu4292)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4292    题意:有F种食物和D种饮料和他们的具体数量。有N个人,每个人喜欢其中的某些食物或饮料,如何分配这些食物和饮料,能让更多的人,得到他们喜欢的一种食物和饮料。     思路:网络流。     建图思路:           (1)、取超级源点和超级汇点。

2012-09-22 00:17:52 1692

原创 2012成都赛区网络赛第二题---Control(hdu4289)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4289      题意:现在,你就是国家安全局头头,有一群猖狂的小偷,在城市S偷了无数的财富,现在他们要把这些财富运到城市D去,这个国家有N个城市(包括S和D),共有M条路联通这N个城市。为了阻止小偷将财富从S运到D,需要在每个城市建一个关卡,就需要一定的花费,问至少需要花费多少,能阻止小偷成功的将

2012-09-22 00:05:27 1977

原创 2012天津赛区第六题---You Are the One(hdu4283)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4283      题意:有N个人站成一队等待按序上台表演,每个人有一个初始耐心值num[i],如果第i个人第k个上台了,则该人最后的耐心值为(k-i)*num[i],舞台旁边有一个巷子,导演可以利用这个巷子来调整上台表演的顺序,但巷子很窄,使得先进去的人之后后出来,问,导演安排的最好情况下,这N个人

2012-09-19 17:07:28 2367

原创 2012成都赛区网络赛第九题---Buildings(hdu4296)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4296     思路:题意就不说了啊,看懂题目中的一句话就好了,比赛时的,一个小思路,也没有绝对的验证过对或错,就是让每一个小方块放在最底下一层,算出其PDV,最小的一个PDV就是正解了。代码: #include__int64 ans;__int64 sum;int a[10

2012-09-16 22:06:52 2079

原创 2012天津赛区网络赛第五题---A very hard mathematic problem(hdu4284)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4282       比赛的时候,思路就是暴搜,但队友做出来了,就做别的去了,之后看题解,大多数都是使用二分的方法解决的,但暴搜也是可以过的,先贴上暴搜的代码,有时间间再写写二分。      暴搜的时候注意Z==2 时,要特殊处理,否则会超时的。代码:#include#include

2012-09-16 21:53:51 2934

原创 2012天津赛区网络赛第二题---Number(hdu4279)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4279      题意:定义f(x)是大于0小于x中不能被x整除且与x不互质的数的个数,如果x是递增的,则说x是一个real number。给你两个数x与y ,求出在他们之间的real number数的个数。 Code:#include #include __int64 a,b;

2012-09-16 21:48:26 3063

原创 2012天津赛区网络赛第一题---Faulty Odometer(hdu4278)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4278     题意:粗心的人数数,他在数2--4,7--9时,给漏数了3和8.当然不管3和8出现在个位、十位、百位、、他都是会漏数的。比如299之后,他会直接数到400,而跳过了300.现在告诉你这个以他自己的数数方式数到的数,求他实际上数了多少个数。(嘎嘎,后面有点绕,不过题意很好懂,不懂的,点

2012-09-16 21:38:35 3227

原创 2012天津赛区网络赛第三题--Island Transport(hdu4280)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4280     题意:有N个岛屿之间有M双向条路,每条路每个小时最多能通过C个人,现在问一个小时内,最多能把多少个顾客从最西边的岛屿送至最东边的岛屿上。     思路:网络流,求最大流。建图:每条路连接的两个岛屿之间建立一条容量为C的双向边,取超级源点与汇点,源点与最西边的岛屿,汇点与最东边的岛

2012-09-16 21:31:25 3214

转载 Visual C++ 6.0 插件系列介绍

转载自:http://www.cnblogs.com/xly1208/archive/2012/02/23/2365373.html   说到Visual C++的插件,大家可能只有想到Visual Assist吧。天真!行内开发的插件可只有这个!?下面介绍一下vc6.0的其他插件。Visual Assist(强烈推荐)网址:http://www.wholetomato.com

2012-09-11 10:52:23 647

heritrix1.14.4源码包

heritrix1.14.4的源码包,包含heritrix1.14.4.zip和heritrix1.14.4-src.zip。heritrix是一种开源的网络爬虫,用于爬去互联网中的网页。如何配置和使用heritrix爬虫,请移步:http://blog.csdn.net/kath_y/article/details/9385015

2013-07-20

STL源码剖析

STL源码剖析,学习C++的孩子,值得拥有,细细品读,提高C++的学习!!!

2012-10-23

Vigenere(维吉尼亚)密码加密解密系统

该程序,用于维吉尼亚密码的加密与解密,运行前,请先阅读ReadMe文档,有解释程序处理的方法。

2012-09-11

空空如也

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

TA关注的人

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