`
文章列表
先说大方向的把握吧: 1.先在一台机器上把所有的配置文件都改好,然后再用scp命令,传到其他机器上,以此构成集群。不要每个机器上面改,麻烦不说,还很容易漏改或者错改。 2.必须确保namenode可以无密码ssh到datanode,datanode也可以无密码ssh到namenode。这是集群间通信和hadoop集群正常运行的基础。 3.不要小瞧了/etc/hosts配置文件中的内容,安装不成功,毛病大多出在机器的hostname和/etc/hosts中的内容不一致,或者slaves,master配置文件中的对应主机名与前面二者不一致。slaves的ip要出现在master的/etc/h ...
在写程序的时候遇到了如何求字符串占多少长度的内存空间问题。先看一行代码: std::string s("hello"); sizeof(s) 结果有点出人意料,竟然是4。   百思不得其解,于是google求助,找到一个博客讲解的比较清楚:http://www.cnblogs.com/wanghetao/archive/2012/04/04/2431760.html   既然决定以后写博客的时候,不在ctrl+c、ctrl+v了,所以写写个人的理解与总结。 1.定义: 首先来看primer给出的定义:sizeof操作符的作用是返回一个对象或者类型名的长度,长 ...
陆陆续续总结几个常用函数的原型出来,为以后再看到时查阅的方便。   1.strcpy()   原型声明:extern char *strcpy(char *dest,const char *src);头文件:#include <string.h>功能:把从src地址开始且含有NULL结束符的字符串复制到以dest开始的地址空间 说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。 返回指向dest的指针。     典型实现   /**********************  * C语言标准库函数strcpy的一 ...
1.汉诺塔问题: void hannoi (int n, char A, char B, char C) {     if (n == 1)     {         cout << "Move disk " << n << " from " << A << " to " << C << endl;       }     else     {         hann ...
  在这里总结几个常用的hash函数出来,留备后续用到时候方便查阅。原文出自:http://blog.csdn.net/eaglex/article/details/6310727。           MD5算法的wiki条目:http://zh.wikipedia.org/wiki/MD5
原文出处:http://blog.csdn.net/shifters/article/details/7558046   在用sizeof求解结构体大小的时候,结果往往会出乎自己的意料,搜了一下相关的知识,原来这里面有好多东西需要挖掘。   1. 整个结构体的总大小为最宽基本类型成员大小的整数倍。如:   typedef struct BiTNode{ TElemType data; BiTNode *lchild; BiTNode *rchild; }BiTNode, *BiTree;   sizeof (BiTNode) = 12; sizeof (BiTre ...
#include <cstdlib> #include <iostream>   #define OVERFLOW 1 #define OK 1 #define ERROR -1   typedef int Status; typedef char TElemType;    typedef struct BiTNode{     TElemType data;     BiTNode *lchild;     BiTNode *rchild; }BiTNode, *BiTree; Status CreateBiTreeByPr ...
原文出处:http://zh.wikipedia.org/wiki/%E6%B1%89%E8%AF%BA%E5%A1%94   代码:   #include <iostream> #include <cstdio> using namespace std; void hannoi (int n, char A, char B, char C) { if (n == 1) { cout << "Move disk " << n << " from ...
原文出处: http://blog.csdn.net/gzzheyi/article/details/6686351  Status MazePath(MazeType (*Maze)[MAX],PosType start,PosType end)   {  
http://blog.csdn.net/ianleelj/article/details/3939354  原文出处。   1 vector     向量 相当于一个数组    在内存中分配一块连续的内存空间进行存储。支持不指定vector大小的存储。STL内部实现时,首先分配一个非常大的内存空间预 ...
http://hi.baidu.com/xuehuo_0411/item/f72d5120d5006ad0a517b6b8  原文出处。   C++ STL 容器技术 之 deque双端队列容器 简介: deque双端队列容器(double-ended queue)与vector非常相似,算法的时间复杂度也是常数阶O(1),deque内部的数据机制和执行性能与vector不同,一般说来,当考虑到容器元素的内存分配策略和操作的性能时,deque相对vector较为有优势。deque双端队列采用分块的线性结构来存储数据,具有高效的删除首尾元素的函数,由于deque容器是以d ...
#ifndef  XXXX_H #define XXXX_H   ......   #endif   以上代码是一个宏,俗称保护头,作用:防止头文件的重复包含。   每一个.h头文件定义时,都应该加上这么一个宏,来防止文件的重复包含。   举例:   写application.h头文件的时候,加上#ifndef ......:   #ifndef APPLICATION_H #define APPLICATION_H   #include "ns3/ptr.h" #include "ns3/node.h" #... ...
1.malloc()函数的函数原型如下: void *malloc(int size); malloc 向系统申请分配指定size个字节的内存空间。返回类型是 void* 类型。void* 表示未确定类型的指针。C,C++规定,void* 类型可以强制转换为任何其它类型的指针。 2.于new的不同: 1>  new 返回指定类型的指针,并且可以自动计算所需要大小。比如: int *p;   p = new int; //返回类型为int* 类型(整数型指针),分配大小为 sizeof(int); 2> 而 malloc 则必须由我们计算要字节数,并且在返 ...

assert 断言

assert宏的原型定义在<assert.h>中,其作用是如果它的条件返回错误,则终止程序执行,原型定义: #include <assert.h>  void assert( int expression );  assert的作用是先计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 abort 来终止程序运行。 大家要注意是,其中的表达式为假时,会终止程序运行,有时经常会写错代码,断言一个指针是否为空,往往写成了 assert(!p);其实应该写成assert(p); assert是运行期的判断,并 ...

SVN介绍

版本控制是管理数据变更的一种技术。对于程序员来说,它已经成为不可或缺的工具,因为他们经常修改软件代码,产生部分的变更,然后第二天再取消所有的变更。想象有一群程序员同时工作的情况你就能理解,为什么需要一个良好的系统来管理可能出现的混乱。 什么是 Subversion? Subversion 是一个开源的版本控制系統, 也就是说 Subversion 管理着随时间改变的数据。 这些数据放置在一个中央资料档案库 (repository) 中。 这个档案库很像一个普通的文件服务器, 不过它会记住每一次文件的变动。 这样你就可以把档案恢复到旧的版本, 或是浏览文件的变动历史。 许多人会把版本控制系統想 ...
Global site tag (gtag.js) - Google Analytics