12 2012 档案
ubuntu的美化
摘要:一、Usplash画面(开机/启动画面)它就相当于Windows的开机/启动画面,因为 ubuntu 使用usplash这个软件作为启动画面,所以我们就叫它为Usplash画面。修改这个画面是3个中难度最高的,如果使用Splashy的话就要简单多了。默认的启动画面在这里/usr/lib/usplash/usplash-default.so,它是一个编译好的.so文件,所以不能直接修改。制作方法见以下是替换Usplash画面的方法。1、复制一个制作好的xxx.so文件到你喜欢的目录,例如:/usr/local/usplash/xxx.so2、然后选定一个 uSplash 方案(以下两种方法任选一 阅读全文
posted @ 2012-12-28 14:48 猿人谷 阅读(392) 评论(0) 推荐(0) 编辑
ubuntu下架设流媒体服务器
摘要:成功版本ubuntu9.10/8.04转载时请注明出处和作者联系方式文章出处:http://blog.csdn.com/keensword007作者联系方式:琴剑 <keensword007 at sina dot com> 目前主流的流媒体服务器有微软的windows media server、RealNetworks的Helixserver和苹果公司的Darwin Streaming Server. 微软的windows media server只能在windows2000 server和windows 2003 server下使用,不在考虑之列。RealNetworks的He 阅读全文
posted @ 2012-12-28 09:54 猿人谷 阅读(524) 评论(0) 推荐(0) 编辑
查看ubuntu版本
摘要:方法一:cat /etc/issue返回结果:Ubuntu 6.06.2 LTS \n \l方法二:sudo lsb_release -a返回结果:No LSB modules are available.Distributor ID: UbuntuDescription: Ubuntu 6.06.2 LTSRelease: 6.06Codename: dapper 方法三:cat /etc/lsb-release返回结果:DISTRIB_ID=UbuntuDISTRIB_RELEASE=6.06DISTRIB_CODENAME=dapperDISTRIB_DESCRIPTION=" 阅读全文
posted @ 2012-12-28 09:52 猿人谷 阅读(231) 评论(0) 推荐(0) 编辑
rhythmbox歌词插件之鲁班歌词
摘要:rhythmbox歌词插件之鲁班歌词今天介绍另一款歌词插件sogou-lyrics鲁班歌词(RBLyrics),它是一款rhythmbox上的插件,官方提供DEB包,所以适合运行在Ubuntu上。环境:Ubuntu10.04播放器:rhythmbox歌词插件:鲁班歌词鲁班歌词自动搜索并下载歌词到 /home/fantlam/lyrics 目录下,通过激活鲁班歌词后新增的工具菜单中选择你所喜欢的歌词显示方式即可。鲁班歌词的特性包括: 1. 从多个歌词源下载歌词并保存到本地(download lyrics from various sources) 2. 自动载入本地歌词,自动检测文件编码(loa 阅读全文
posted @ 2012-12-27 18:54 猿人谷 阅读(780) 评论(0) 推荐(0) 编辑
新安装 Ubuntu 12.10 需要做的 10 件事
摘要:1. 了解一下ubuntu 12.10ubuntu 12.10 使用 unity 桌面基于gtk3 开发的桌面,新版本原装加入连个lens但是对于国内用户来说基本上没有什么用处,另外还有Ubuntu one music商店和亚马逊商店的web应用。2. 更新你的系统Ubuntu 12.10 刚安装后,并不意味着你的系统有现在的前几分钟出现的bug的补丁。更新列表在桌面右上角的按钮点出的菜单里。当然你也可以从Dash中打开更新管理器。Ubuntu Updates3.安装多媒体解码器如果你想在ubuntu上看电影或者听音乐的话,你必须要安装多媒体解码器。因为法律的原因,ubuntu不能直接提供这些 阅读全文
posted @ 2012-12-27 18:36 猿人谷 阅读(307) 评论(0) 推荐(0) 编辑
Ubuntu 12.04安装Mac OS X Lion 主题
摘要:主题文件下载地址:Mac OS X theme for Ubuntu 12.04 LTS(可下载V2)该文件包括 Plymouth 主题、壁纸、图标主题、GTK/窗口主题预览右键点击,在新标签页中打开查看大图。设置步骤A:Plymouth 主题打开终端,执行下面命令:sudo cp -R Paw-OSX/ /lib/plymouth/themes #复制 Paw-OSX 主题sudo update-alternatives --install /lib/plymouth/themes/default.plymouth default.plymouth /lib/plymouth/themes/ 阅读全文
posted @ 2012-12-27 18:31 猿人谷 阅读(1046) 评论(0) 推荐(0) 编辑
一天一点学linux
摘要:随着Linux应用的扩展许多朋友开始接触Linux,根据学习Windwos的经验往往有一些茫然的感觉:不知从何处开始学起。就像是战争,你有勇气战胜一切敌人,但你的眼前一片 漆黑,你知道前面有很多敌人,但就不知道具体的位置,无从下手。所以认清方向,确定目标很重要。下面就说说学习Linux的一些建议,希望能对大家有所帮助。一、放弃Windows的思维,用Unix的思维学习Linux Linux与Windows的设计理念是完全不同的,不要用Windows的思维来学习Linux。Linux是参照Unix思想设计的,理解掌握Linux必须按照Unix思维来进行。思想性的转变比暂时性的技术提高更有用,因为 阅读全文
posted @ 2012-12-26 22:28 猿人谷 阅读(320) 评论(0) 推荐(0) 编辑
如何系统学习Linux
摘要:linux太难用了!(一通鼠标点击,进入/etc)学习linux,你忘记windows的思维方式了吗?怎么安装软件阿?那一堆文件是干什么的阿?学习linux,你还在浮躁吗?进入linux,随便按了几下.赶紧重启进入win学习linux,你用心了吗?.......首先,我想引用一下别人说过的一句话:除非在过去的十年你一直生活在山洞里,否则你一定听说过linux.是的,现在听说过linux,会一点linux基本操作的人多如牛毛,然而真正能用linux做一点事情的确少之又少,这就造成了现在的状况:各大 linux论坛十分热闹,但我国linux人材却还十分紧缺.到底是什么原因造成了这样的状况? 纠其原 阅读全文
posted @ 2012-12-26 22:24 猿人谷 阅读(363) 评论(0) 推荐(0) 编辑
如何学习linux操作系统
摘要:一、 选择适合自己的linux发行版谈到linux的发行版本,太多了,可能谁也不能给出一个准确的数字,但是有一点是可以肯定的,linux正在变得越来越流行, 面对这么多的Linux 发行版,打算从其他系统转到linux系统来的初学者可能会感到困惑,即便是忠实的 Linux 用户也没有时间和精力去挨个尝试,因此初学者在学习linux的之前,需要有一个明确的方向,选择一个适合自己的系统开始学习linux至关重要!下面我们就分类介绍。1.1 初学者入门首选-redhat系列在学习redhat系列linux之前,首先要了解以下redhat linux各个发行版本之间的关系。1.Red Hat Linu 阅读全文
posted @ 2012-12-26 22:21 猿人谷 阅读(371) 评论(0) 推荐(0) 编辑
Linux入门、深入
摘要:学习步骤如下: 1、Linux 基础 安装Linux操作系统 Linux文件系统 Linux常用命令 Linux启动过程详解 熟悉Linux服务能够独立安装Linux操作系统 能够熟练使用Linux系统的基本命令 认识Linux系统的常用服务安装Linux操作系统 Linux基本命令实践 设置Linux环境变量 定制Linux的服务 Shell 编程基础使用vi编辑文件 使用Emacs编辑文件 使用其他编辑器 2、Shell 编程基础 Shell简介 认识后台程序 Bash编程熟悉Linux系统下的编辑环境 熟悉Linux下的各种Shell 熟练进行shell编程熟悉vi基本操作 熟悉Emac 阅读全文
posted @ 2012-12-26 22:18 猿人谷 阅读(329) 评论(0) 推荐(0) 编辑
Linux编程入门
摘要:Linux下开发学习步骤 1、先熟悉linux系统的常用命令。 2、深入学习emacs或者vim。值得你花半年时间系统学习!以后我们就是用这个编辑器来写程序的了,经过配置,emacs完完全全就是一个IDE了,像代码跳转,自动补齐(智能感应)以及其他的一些好用功能。 3、学习makefile的编写。因为我们是用makefile来组织我们的程序的就像vc6里头又dsp/dsw文件一样(当然也vc自己makefile)。有些好的工具能帮助我们编写可以移植的makefile,如autoconf等。 4、学习用GUN的开发工具链,如gcc,gdb,ldd,ld,…… 5、学习linux的系统调... 阅读全文
posted @ 2012-12-26 22:17 猿人谷 阅读(341) 评论(0) 推荐(0) 编辑
三位数组实现的HashMap
摘要:网上的一个HashMap代码,用三个数组实现,不同于jdk中的实现方式。处理哈希冲突是采用二次哈希(再哈希)的策略,学习了一把,个别地方可能没有理解到位。写了一些注释,如果有错误,敬请指出。 Java代码 publicfinalclassLongHashMap{protectedlongtable[];//存放键,类型为long,应该是用于特殊场所protectedObjectvalues[];//存放值protectedbytestate[];//state[i]=0,1,2表示table[i]与values[i]没有使用,已经使用,已删除protectedintfreeEntries;// 阅读全文
posted @ 2012-12-26 15:56 猿人谷 阅读(834) 评论(0) 推荐(0) 编辑
Windows c++应用程序通用日志组件(组件及测试程序下载)
摘要:引言 众所周知,在调试、跟踪和执行应用程序的过程中,程序的日志能为这些工作提供大量有价值的运行信息。因此,程序的日志对应用程序的运行、维护至关重要。 在如何记录程序日志方面,通常有三种选择: 1、采用Log4CXX等公共开源日志组件:这类日志组件的特点是跨平台且功能比较强大,例如可以把日志发往另一台服务器或记录到数据库中等; 另外,可配置性较高,可以通过配置文件或程序代码对日志进行很多个性化设置。但从另外一个角度看,由于这些优点往往也导致了在使用方面的缺点。首先,对于 一般应用程序来说,它们并不需要太多的功能,通常只需要把日志记录到文件或反馈到应用程序,功能太多反正让用户使用起来觉得繁琐... 阅读全文
posted @ 2012-12-25 08:57 猿人谷 阅读(539) 评论(0) 推荐(0) 编辑
如何养成良好的c++编程习惯(1)——内存管理
摘要:开篇导读 “养成良好的编程习惯”其实是相当综合的一个命题,可以从多个角度、维度和层次进行论述和评判。如代码的风格、效率和可读性;模块设计的灵活 性、可扩展性和耦合度等等。要试图把所有方面都阐述清楚必须花很多的精力,而且也不一定能阐述得全面。因此,本系列文章以软件开发的基础问题为切入点,阐 述程序设计和代码编写方面的细节问题,以点带面,旨在激发大家的思考与总结,希望能为大家带来实际的帮助。 虽然本系列文章定位为科普读物,但本座相信它们不但适合新手们学习借鉴,同时也能引发老鸟们的反思与共鸣。欢迎大家提出宝贵的意见和反馈 ^_^ 在开篇讲述本章主要内容之前,本座首先用小小篇幅论述一... 阅读全文
posted @ 2012-12-25 08:53 猿人谷 阅读(319) 评论(0) 推荐(0) 编辑
Portal-Basic Java Web应用开发框架V3.0正式发布(源码、实例及文档)
摘要:Portal-Basic Java Web应用开发框架(简称 Portal-Basic)是一套功能完备的高性能Full-Stack Web应用开发框架,内置稳定高效的MVC基础架构和DAO框架(已内置Hibernate、MyBatis和JDBC支持),集成 Action拦截、Form Bean / Dao Bean / Spring Bean装配、国际化、文件上传下载和缓存等基础Web应用组件,提供高度灵活的纯 Jsp/Servlet API 编程模型,完美整合 Spring,支持Action Convention“零配置”,能快速开发传统风格和RESTful风格的Web应用程序,文档和代码清 阅读全文
posted @ 2012-12-25 08:46 猿人谷 阅读(366) 评论(0) 推荐(0) 编辑
习题4.5:列出使用数组而不是vector的缺点
摘要:解答: 与vector类型相比,数组具有如下缺点:数组的长度是固定的,而且数组不提供获取其容量大小的size操作,也不提供自动添加元素的push_back操作。因此,程序员无法在程序运行时知道一个给定数组的长度,而且如果需要更改数组的长度,程序员只能创建一个更大的数组,然后把原数组的所有元素复制到新数组的存储空间中去。与使用vector类型的程序相比,使用内置数组的程序更容易出错且难以调试。 阅读全文
posted @ 2012-12-24 14:21 猿人谷 阅读(345) 评论(0) 推荐(0) 编辑
HDFS详解
摘要:【一】HDFS简介HDFS的基本概念1.1、数据块(block)HDFS(Hadoop Distributed File System)默认的最基本的存储单位是64M的数据块。和普通文件系统相同的是,HDFS中的文件是被分成64M一块的数据块存储的。不同于普通文件系统的是,HDFS中,如果一个文件小于一个数据块的大小,并不占用整个数据块存储空间。-------------------------------------------------------------------------------------------内容比较多,所以本区整理如下,欢迎下载学习:附件: HDFS简介.p. 阅读全文
posted @ 2012-12-22 16:34 猿人谷 阅读(615) 评论(0) 推荐(0) 编辑
hadoop 1.x环境搭建
摘要:近一直在自学Hadoop,今天花点时间搭建一个开发环境,并整理成文。首先要了解一下Hadoop的运行模式:单机模式(standalone) 单机模式是Hadoop的默认模式。当首次解压Hadoop的源码包时,Hadoop无法了解硬件安装环境,便保守地选择了最小配置。在这种默认模式下所有3个XML文件均为空。当配置文件为空时,Hadoop会完全运行在本地。因为不需要与其他节点交互,单机模式就不使用HDFS,也不加载任何Hadoop的守护进程。该模式主要用于开发调试MapReduce程序的应用逻辑。伪分布模式(Pseudo-Distributed Mode) 伪分布模式在“单节点集群”上运... 阅读全文
posted @ 2012-12-21 13:55 猿人谷 阅读(321) 评论(0) 推荐(0) 编辑
Hadoop的安装
摘要:来源:http://suxain.iteye.com/blog/1744652本来是用word写的,里面有一些截图,可是iteye的编辑器上传图片不方便,所以,附件中是原版word文档 一、 Hadoop安装1.1 hosts文件修改在每个结点修改hosts文件,配置节点IP与别名Vi /etc/hosts1.2 建立hadoop用户Useradd username //添加用户Passwd username //为用户生成密码 1.3 生成公私钥密钥对用hadoop 用户登录在各个节点上,分别使用 ssh-keygen –t rsa –f ~/.ssh/id_rsa来生成密钥Cd ~/.ss 阅读全文
posted @ 2012-12-21 13:50 猿人谷 阅读(227) 评论(0) 推荐(0) 编辑
在windows下使用eclipes连接linux下的Hadoop集群
摘要:来源:http://suxain.iteye.com/blog/1748356hadoop 是工作在linux下的分布式系统,做为一个开发者,对于手里资源有限,不得不使用只有终端的虚拟机来运行hadoop集群。但是,在这种环境下,开发,调试就变得那么的不容易了。那么,有没有办法在windows下发调试呢。答案是肯定的。hadoop为我们提供了一个Eclipes插件,使用我们可以在Eclipse环境下开发,调试hadoop程序,那么,应该如何安装eclipse-hadoop插件呢。下面把我的研究结果分享给大家(附上我自己编译的插件)。1、编译eclipse-hadoop-plugins 在... 阅读全文
posted @ 2012-12-21 13:48 猿人谷 阅读(2151) 评论(1) 推荐(0) 编辑
Hadoop架构——云计算的具体实现
摘要:Hadoop是IT行业一个新的热点,是云计算的一个具体实现、Hadoop本身具有很高的技术含量,是IT工程师学习的首选!下面我们来详细讲讲什么是Hadoop。 Hadoop是IT行业一个新的热点,是云计算的一个具体实现、Hadoop本身具有很高的技术含量,是IT工程师学习的首选!下面我们来详细讲讲什么是Hadoop。完整hadoop讲解视频教程下载地址:1、http://kuai.xunlei.com/d/CLCBYHQKJQNT2、http://kuai.xunlei.com/d/CSMFERCHAGEEHadoop是什么:Hadoop = The Hadoop projectsCommon 阅读全文
posted @ 2012-12-21 13:46 猿人谷 阅读(723) 评论(0) 推荐(0) 编辑
分布式计算Hadoop简介
摘要:Hadoop是什么:Hadoop是一个开发和运行处理大规模数据的软件平台,是Appach的一个用java语言实现开源软件框架,实现在大量计算机组成的集群中对海量数据进行分布式计算。 Hadoop是什么:Hadoop是一个开发和运行处理大规模数据的软件平台,是Appach的一个用java语言实现开源软件框架,实现在大量计算机组成的集群中对海量数据进行分布式计算。Hadoop框架中最核心设计就是:HDFS和MapReduce。HDFS提供了海量数据的存储,MapReduce提供了对数据的计算。数据在Hadoop中处理的流程可以简单的按照下图来理解:数据通过Haddop的集群处理后得到结果。HDFS 阅读全文
posted @ 2012-12-21 13:44 猿人谷 阅读(342) 评论(0) 推荐(0) 编辑
realloc使用详解
摘要:分析realloc invalid pointer、指针无效等错误!realloc函数用来为ptr重新分配大小为size的一块内存,看似很简单,在使用过程中却会发生各种错误。函数形式为:void * realloc ( void * ptr, size_t new_size );最近在网上查看了一些资料,在glibc中没有找到具体的实现(有人找到了可以发给我,ladd.cn@gmail.com),查到了一个开源项目自己写的realloc代码,http://code.google.com/p/mallocspethmeniel/source/browse/trunk/realloc.c?r=23 阅读全文
posted @ 2012-12-21 13:39 猿人谷 阅读(2446) 评论(0) 推荐(0) 编辑
realloc invalid pointer错误解析
摘要:realloc invalid pointer错误char* temp=(char*) realloc(src,sizeof(char)*100);如上面这行代码,可能会出现标题中的错误。错误原因是因为src指向的不是NULL或堆中的地址。具体的就是realloc函数要求src为下面两种情况1.src==NULL2.src指针必须是malloc(), calloc(), 或realloc()分配的造成错误的代码造成错误的代码一般是如下形式是char* src="Hello world!";//错误代码或者char src[100];//错误代码上面这两种方式分配内存位于栈区 阅读全文
posted @ 2012-12-21 13:36 猿人谷 阅读(456) 评论(0) 推荐(0) 编辑
海量数据面试题
摘要:1. 给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url?方案1: 可以估计每个文件安的大小为50G×64=320G,远远大于内存限制的4G。所以不可能将其完全加载到内存中处理。考虑采取分而治之的方法。s 遍历文件a,对每个url求取,然后根据所取得的值将url分别存储到1000个小文件(记为)中。这样每个小文件的大约为300M。s 遍历文件b,采取和a相同的方式将url分别存储到1000各小文件(记为)。这样处理后,所有可能相同的url都在对应的小文件()中,不对应的小文件不可能有相同的url。然后我们只要求出1000对 阅读全文
posted @ 2012-12-21 09:09 猿人谷 阅读(270) 评论(0) 推荐(0) 编辑
Linux下TCP连接过程总结
摘要:一、Linux服务器上11种网络连接状态: 图:TCP的状态机通常情况下,一个正常的TCP连接,都会有三个阶段:1、TCP三次握手; 2、数据传送; 3、TCP四次挥手注:以下说明最好能结合”图:TCP的状态机”来理解。SYN: (同步序列编号,Synchronize Sequence Numbers)该标志仅在三次握手建立TCP连接时有效。表示一个新的TCP连接请求。ACK: (确认编号,Acknowledgement Number)是对TCP请求的确认标志,同时提示对端系统已经成功接收所有数据。FIN: (结束标志,FINish)用来结束一个TCP回话.但对应端口仍处于开放状态,准备接.. 阅读全文
posted @ 2012-12-21 09:07 猿人谷 阅读(1074) 评论(0) 推荐(0) 编辑
assert()函数用法
摘要:assert宏的原型定义在<assert.h>中,其作用是如果它的条件返回错误,则终止程序执行,原型定义:#include <assert.h>void assert( int expression ); assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 abort 来终止程序运行。请看下面的程序清单badptr.c:#include <stdio.h>#include <assert.h>#include <stdlib.h>int main( v 阅读全文
posted @ 2012-12-21 09:06 猿人谷 阅读(272) 评论(0) 推荐(0) 编辑
怎样写解释器
摘要:解释器是比较深入的内容。虽然我试图从最基本的原理讲起,尽量让这篇文章不依赖于其它的知识,但是这篇教程并不是针对函数式编程的入门,所以我假设你已经学会了最基本的 Scheme 和函数式编程。如果你完全不了解这些,可以读一下 SICP的第一,二章。当然你也可以继续读这篇文章,有不懂的地方再去查资料。我在这里也会讲递归和模式匹配的原理。如果你已经了解这些东西,这里的内容也许可以加深你的理解。解释器其实不是很难的东西,可是好多人都不会写,因为在他们心目中解释器就像一个 Python 解释器那样复杂。如果你想开头就写一个Python解释器,那你多半永远也写不出来。你必须从最简单的语言开始,逐步增加语言的 阅读全文
posted @ 2012-12-18 14:02 猿人谷 阅读(508) 评论(0) 推荐(0) 编辑
如何统计个人博客访问量
摘要:使用过新浪博客的人都知道,新浪博客的首页有访问量统计功能,迁移到博客园之后发现博客 园却没有这项功能,所幸博客园在后台管理的设置选项中有一个公告栏和设置页首页脚代码功能,使用起来非常灵活和方便。借此我们可以通过网络上提过的其他强 大的插件来为获取更加详细的访问统计信息(博客园这难道是借鉴了传统unix中“一个软件工具只做好一件事”的设计原则吗~~^_^),本教程所使用的方 法对于其他提供类似公告栏机制的任何网络页面都适用,而不仅仅限于博客园,以下为详细步骤:1. 如果你想在博客园的首页显示你的访问数据,可以采用以下方法: 1)flagcounter.com:进入这个网站,然后根据首页的自定义. 阅读全文
posted @ 2012-12-18 13:37 猿人谷 阅读(1983) 评论(0) 推荐(0) 编辑
对快速排序算法的分析
摘要:开篇在实际的过程中,总需要对一些数据进行排序,在众多的排序算法中,快速排序是较为常用的排序算法之一。而网上对于快速排序的中文资料还不是很全。写 这篇博文主要记录一些自己对于快速排序的了解,以及对快速排序的性能的分析。我将在这里记录下我对快速排序的认识和学习过程 ,用尽可能简单明了的叙述来阐述我的理解。快速排序基于算法中很重要的思想是 分治。所以会先介绍一下分治思想,然后对算法原理进行介绍,接着会分析算法的性能并对算法作进一步的讨论。注:为了便于说明问题,本博文中会用到部分《introduction to algorithm》中的图片。关键词:快速排序、分治、递归“大事化小”——从分治说起分治? 阅读全文
posted @ 2012-12-17 13:56 猿人谷 阅读(342) 评论(1) 推荐(0) 编辑
对缓存的思考【续】——编写高速缓存友好代码
摘要:开篇上一篇博文对缓存的思考——提高命中率详细介绍了高速缓存的组织结构,并通过实例说详细明了cpu从高速缓存中取数据的过程,对于缓存的工作机制应该有了清晰的认识。这篇博文就来简单讨论以下对于缓存在实际开发中的应用,这里将告诉你如何让你的程序充分利用该缓存,即如何编写高速缓存友好的代码。提示:如果高速缓存的运行机制还没有清晰的认识,请参照前面文章。注1:关于文中提到的局部性的相关知识参照:局部性原理浅析——良好代码的基本素质注2:这是一个系列的文章,收录在程序性能优化注3:文章知识有些地方不容易理解,所以用心才能看完噢。“用空间换时间”在搞算法的时候经常能听到这种说法,算法研究中通常要考虑算法的时 阅读全文
posted @ 2012-12-17 13:50 猿人谷 阅读(434) 评论(0) 推荐(0) 编辑
对缓存的思考——提高命中率
摘要:开篇编写高效的程序并不只在于算法的精巧,还应该考虑到计算机内部的组织结构,cpu微指令的执行,缓存的组织和工作原理等。好的算法在实际中不见得有高效率,如果完全没有考虑缓存、微指令实现的话。前两篇博文局部性原理浅析介绍了程序的局部性原理,如何写出局部性良好代码。提高程序性能、何为缓存讨论了存储器层次结构,计算机内部的存储结构、缓存的概念,简单的介绍了缓存的工作机制。建议先阅读前两篇博文,虽然他们之间联系不大,在前面也有一些对本文的铺垫。而且,这是一个系列的文章。旨在优化程序性能。这篇博文主要介绍的是缓存的组织、工作原理。拨开迷雾,让你更加清晰的认识缓存。通用缓存结构回顾在提高程序性能、何为缓存中 阅读全文
posted @ 2012-12-17 13:49 猿人谷 阅读(281) 评论(0) 推荐(0) 编辑
从hello world 解析程序运行机制
摘要:开篇学习任何一门编程语言,都会从hello world 开始。对于一门从未接触过的语言,在短时间内我们都能用这种语言写出它的hello world。然而,对于hello world 这个简单程序的内部运行机制,我相信还有很多人都不是很清楚。hello world 这些信息是如何通显示器过显示的?cpu执行的代码和程序中我们写的的代码肯定不一样,她是什么样子的?又是如何从我们写的代码变成cpu能执行的代码的?程序运行时代码是在什么地方?她们是如何组织的?程序中的变量存储在什么地方?函数调用是怎样是现的?这篇文章将简单的讨论程序的运行机制开发平台隐藏的过程每 一种语言都有自己的开发平台,我们的程序 阅读全文
posted @ 2012-12-17 13:47 猿人谷 阅读(328) 评论(0) 推荐(0) 编辑
Unix下c程序内存泄露检测工具
摘要:Valgrind是一款用于内存调试、内存泄漏检测以及性能分析的软件开发工具。Valgrind的最初作者是Julian Seward,他于2006年由于在开发Valgrind上的工作获得了第二届Google-O'Reilly开源代码奖。Valgrind遵守GNU通用公共许可证条款,是一款自由软件。官网http://www.valgrind.org下载与安装#wget http://www.valgrind.org/downloads/valgrind-3.8.1.tar.bz2#tar xvf valgrind-3.8.1.tar.bz2#cd valgrind-3.8.1#./conf 阅读全文
posted @ 2012-12-17 13:42 猿人谷 阅读(308) 评论(0) 推荐(0) 编辑
路由器、集线器、网关、网桥的联系与区别
摘要:路由器:连接不同IP 子网的设备,负责寻径和转发,工作在OSI 的网络层。网桥: 连接不同子网,使其透明通信,工作在数据链路层,解析数据帧。缺点是无法避免“广播风暴”。网关(gateway):工作在应用层,不同子网间的翻译器,对收到的信息进行重新打包。=====================================================================集线器: 集线器的基本功能是信息分发,它把一个端口接收的所有信号向所有端口分发出去。一些集线器在分发之前将弱信号重新生成,一些集线器整理信号的时序以提供所有端口间的同步数据通信。 路由器: 路由器顾名思义就是进 阅读全文
posted @ 2012-12-17 10:52 猿人谷 阅读(1180) 评论(0) 推荐(0) 编辑
Oracle RAC基本维护指令
摘要:所有实例和服务的状态$ srvctl status database -d orclInstance orcl1 is running on node linux1Instance orcl2 is running on node linux2单个实例的状态$ srvctl status instance -d orcl -i orcl2Instance orcl2 is running on node linux2在数据库全局命名服务的状态$ srvctl status service -d orcl -s orcltestService orcltest is running on ins 阅读全文
posted @ 2012-12-17 10:01 猿人谷 阅读(424) 评论(0) 推荐(0) 编辑
Oracle SQL性能优化
摘要:(1)选择最有效率的表名顺序(只在基于规则的优化器中有效):ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表(intersection table)作为基础表, 交叉表是指那个被其他表所引用的表.(2)WHERE子句中的连接顺序.:ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤掉最大数量记录的条件必须写在W 阅读全文
posted @ 2012-12-17 10:00 猿人谷 阅读(197) 评论(0) 推荐(0) 编辑
TCP协议的三次握手过程
摘要:TCP(Transmission Control Protocol) 传输控制协议TCP的连接建立过程又称为TCP三次握手。首先发送方主机向接收方主机发起一个建立连接的同步(SYN)请求;接收方主机在收到这个请求后向发送方主机回复一个同步/确认(SYN/ACK)应答;发送方主机收到此包后再向接收方主机发送一个确认(ACK)。TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接:位码即tcp标志位,有6种标示:SYN(synchronous建立联机) ACK(acknowledgement 确认) PSH(push传送) FIN(finish结束) RST(res 阅读全文
posted @ 2012-12-17 09:57 猿人谷 阅读(740) 评论(0) 推荐(0) 编辑
TCP编程函数和步骤
摘要:TCP编程的服务器端一般步骤是1、创建一个socket,用函数socket();2、设置socket属性,用函数setsockopt();*可选3、绑定IP地址、端口等信息到socket上,用函数bind();4、开启监听,用函数listen();5、接收客户端上来的连接,用函数accept();6、收发数据,用函数send()和recv(),者read()和write();7、关闭网络连接;8、关闭监听;TCP编程的客户端一般步骤是:1、创建一个socket,用函数socket();2、设置socket属性,用函数setsockopt();*可选3、绑定IP地址、端口等信息到socket上, 阅读全文
posted @ 2012-12-15 10:30 猿人谷 阅读(667) 评论(0) 推荐(0) 编辑
一个项目的简单开发流程——需求、数据库、编码
摘要:关于一个项目的简单开发流程 前言:从11月8号开始到11月12号我们小组使用html+easyUI+ashx+异步,开发了一个简易的网 站,也就是简单的门户网站,下面我就将我们这几天开发中遇到的一些问题以及我自己的一些关于项目的开发流程的见解,当然我的见解很有限,所以希望广大博友 们能提出你们在工作中所接触到的一些流程的见解,方便我们大家来学习。下面我们就来说一下整个项目的过程1.首先就是需求 (1) 在整个项目中这块可以说是非常重要,没有需求或者需求不明确那么我们开发人员将无存下手,因为不知道怎么写,所以前期的需求调研是非常重要的,如果在这块没有好好整理的话将会在后面遇到很多的问题,后面.. 阅读全文
posted @ 2012-12-14 16:31 猿人谷 阅读(649) 评论(0) 推荐(0) 编辑
ASP.NET MVC+EF框架+EasyUI实现
摘要:前言:时间很快,已经快到春节的时间了,这段时间由于生病,博客基本没更新,所以今天写一下我们做的一个项目吧,是对权限的基本操作的操作,代码也就不怎么说了,直接上传源码和图片展示,下面我们直接进入主题介绍这个项目和一些技术点:1.项目所用到的技术 (1)前台展示:ASP.NET MVC 3.0+Jquery EasyUI+Jquery (2)开发环境:VS2012 (3)数据库:SQL Server 2012 (4)代码管理:SVN (5)用到的技术:ASP.NET MVC,EF框架,Jquery EasyUI,Log4Net,VSS,微软T4模版 (6)数据库脚本在本项目的APP_D... 阅读全文
posted @ 2012-12-14 16:26 猿人谷 阅读(1184) 评论(0) 推荐(1) 编辑
使用鼠标
摘要:C语言Windows程序设计 -> 第十一天 -> 使用鼠标鼠标的使用同样是通过获取Windows鼠标消息来获取用户当前的鼠标状态的。一、鼠标的介绍 鼠标是计算机的输入设备之一, 在图形化的操作系统上, 鼠标的使用使一些复杂的操作变得简单, 随着科技的进步, 鼠标的种类也越来越多, 按接口类型可分为串行鼠标、PS/2鼠标、总线鼠标、USB鼠标(多为光电鼠标)四种。按其工作原理及其内部结构的不同可以分为机械式,光机式和光电式。 这里我们不讨论鼠标的硬件构造, 更多关于鼠标的硬件知识请自行查阅相关资料。 1>. 鼠标所在的位置 在Windows系统下, 用户移动鼠标时, 在屏幕上 阅读全文
posted @ 2012-12-14 14:33 猿人谷 阅读(531) 评论(0) 推荐(0) 编辑
线性表简介
摘要:学习数据结构 -> 线性表 -> 线性表的介绍 线性表是一种典型的数据结构, 线性结构的基本特点是线性表中的数据元素是有序且有限的, 在线性结构中, 有且仅有一个被称为"开始数据元素"和一个"最后数据元素", 除了开始数据元素没有直接前驱, 最后一个数据元素没有直接后继外, 其余的数据元素有且仅有唯一的一个直接前驱和直接后继。 整理下来说, 线性表具有如下基本特征: 1>. 线性结构中必然存在唯一一个"开始数据元素" ; 2>. 线性结构中必然存在唯一一个"最后数据元素" ; 3>. 阅读全文
posted @ 2012-12-14 14:25 猿人谷 阅读(471) 评论(0) 推荐(0) 编辑
二维数组
摘要:看到一个博客上的内容写得如此详细和有条理,不得不赞一个。特此转过来,让自己以后写博客时写得更有条理些。转自:http://www.cnblogs.com/mr-wid/archive/2012/12/11/2813299.html 一、二维数组的介绍 当数组元素具有两个下标时, 该数组称为二维数组。 二维谁可以看做具有行和列的平面数据结构。二、二维数组的定义 定义二维数组的形式: 数据类型 数组名[常量表达式1][常量表达式2] ; 数据类型是数组全体元素的数据类型, 数组名用合法的标识符表示, 两个整型常量表达式可以理解为分别代表行数和列数, 与一维数组相同, 数组元素的下... 阅读全文
posted @ 2012-12-14 14:02 猿人谷 阅读(996) 评论(0) 推荐(0) 编辑
面向对象的三大特征
摘要:面向对象的三大特征是封装性、继承性和多态性:封装性:将客观事物抽象成类,每个类对自身的数据和方法实行protection(private、protected、public)。继承性:广义的继承有三种实现形式:实现继承(使用基类的属性和方法而无需额外编码的能力)、可视继承(子窗体使用父窗体的外观和实... 阅读全文
posted @ 2012-12-14 10:25 猿人谷 阅读(356) 评论(0) 推荐(0) 编辑
经典笔试题——a和&a有什么区别
摘要:请写出以下代码的打印结果:1 #include2 void main()3 { int a[5]={1,2,3,4,5};4 int *ptr=(int*)(&a+1);5 6 printf("%d,%d",*(a+1),*(ptr-1));7 }输出结果为:2,5至于为什么输出结果是5?要时刻牢记这样的观点:数组名本身就是指针,再加上&,就变成了双指针,这里的双指针就是指二维数组,加1,就是数组整体加1行,ptr指向a的第6个元素。 阅读全文
posted @ 2012-12-14 09:17 猿人谷 阅读(430) 评论(0) 推荐(0) 编辑
百度1
摘要:备注:转载于http://blog.csdn.net/ustc_dylan/article/details/5451227百度面试题,仅提供一些参考。1 完成函数size_t foo(unsigned int *a1, size_t al1, unsigned int* a2, size_t al2)其中a1和a2都为无符号数组,al1和al2为数组的长度,数组的长度为偶数。无符号数组由一对数字区间组成。 如下例:a1 为 0,1,3,6,10,20a2 为 0,1,20,50,4,5则 a1表示以下区间[0,1] [3,6] [10,20]a2表示以下区间[0,1] [20,50] [4,5 阅读全文
posted @ 2012-12-13 21:51 猿人谷 阅读(1406) 评论(0) 推荐(0) 编辑
腾讯--HTTP协议1
摘要:转自:http://www.cnblogs.com/cswolf/archive/2011/10/11/2267129.html引言 HTTP 是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和 扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。HTTP协议的主要特点可概括如下:1.支持客户/服务器模式。2.简单快速:客户向服务器请求服... 阅读全文
posted @ 2012-12-13 21:49 猿人谷 阅读(276) 评论(0) 推荐(0) 编辑
腾讯--http协议2
摘要:转自:http://www.cnblogs.com/cswolf/archive/2011/10/11/2267128.htmlHTTP协议是什么?简单来说,就是一个基于应用层的通信规范:双方要进行通信,大家都要遵守一个规范,这个规范就是HTTP协议。HTTP协议能做什么?很多人首先一定会想到:浏览网页。没错,浏览网页是HTTP的主要应用,但是这并不代表HTTP就只能应用于网页的浏览。HTTP是一种协议,只要通信的双方都遵守这个协议,HTTP就能有用武之地。比如咱们常用的QQ,迅雷这些软件,都会使用HTTP协议(还包括其他的协议)。HTTP协议如何工作?大家都知道一般的通信流程:首先客户端发送 阅读全文
posted @ 2012-12-13 21:47 猿人谷 阅读(273) 评论(0) 推荐(0) 编辑
IGT中国
摘要:1、calloc,malloc 和 alloca的区别;答案:内存区域可以分为栈、堆、静态存储区和常量存储区,局部变量,函数形参,临时变量都是在栈上获得内存的,它们获取的方式都是由编译器自动执行的。 利用指针,我们可以像汇编语言一样处理内存地址,C 标准函数库提供了许多函数来实现对堆上内存管理,其中包括:malloc函数,free函数,calloc函数和realloc函数。使用这些函数需要包含头文件stdlib.h。 四个函数之间的有区别,也有联系,我们应该学会把握这种关系,从而编出精炼而高效的程序。 在说明它们具体含义之前,先简单从字面上加以认识,前3个函数有个共同的特点,就是都带有字... 阅读全文
posted @ 2012-12-13 21:45 猿人谷 阅读(319) 评论(0) 推荐(0) 编辑
恒生电子
摘要:1. Please specify what does “func()” do with the list "pParam", and what are the errors.struct LIST{ int nValue; struct LIST * pPrev; struct LIST * pNext;};struct LIST * func(struct LIST * pParam){ struct LIST* pCur = pParam; struct LIST* pNext; struct LIST* pPrev = NULL; struct LIST* pTai 阅读全文
posted @ 2012-12-13 21:43 猿人谷 阅读(305) 评论(0) 推荐(0) 编辑
人民搜索3
摘要:一、面试形式 1、3轮1V1的技术面试;某轮面试通过,稍事休息后开始下一轮面试。 2、面试过程基本分为两部分: 1)对简历上所写项目的描述,及回答对方感兴趣的项目细节; 2)对方给出数组、链表等常见程序设计问题,要求描述解决问题的思路;并把思路转化为代码(手写)。 这一部分是最重要的环节,占面试总时间的85%以上。二、面试题回忆 1、删除字符串开始及末尾的空白符,并且把数组中间的多个空格(如果有)符转化为1个。 2、求数组(元素可为正数、负数、0)的最大子序列和。 3、链表相邻元素翻转,如a->b->c->d->e->f-g,翻转后变为:b->a->d 阅读全文
posted @ 2012-12-13 21:41 猿人谷 阅读(193) 评论(0) 推荐(0) 编辑
人民搜索2
摘要:1、求包含所有query的最短距离 一篇文章,切完词之后放到一个vector<string>中,一个查询切完词也放到一个vector<string>中,写一个函数找出这篇文章中包含这个查询中所有词的最小区间的i和j。只要返回第一个即可。当时很坑爹,直觉告诉我要建索引,而且建索引也对了,但是建完之后就不知道怎么搞了,后台他提示一句,有些是不需要比较的,才得到灵感,想出了解决办法,但是写起代码来,又掉链子了,可能是在纸上写代码没有什么经验吧,在电脑上,我写代码还是很快了。言归正传,建索引的思路是对的。怎么建索引呢?对于每个query中出现的词,建立索引,当然在实际应用中,可 阅读全文
posted @ 2012-12-13 21:40 猿人谷 阅读(160) 评论(0) 推荐(0) 编辑
C/C++面试题
摘要:1.求下面函数的返回值(微软)int func(x){ int countx = 0; while(x) { countx ++; x = x&(x-1); } return countx;}复制代码 假定x = 9999. 答案:8思路:将x转化为2进制,看含有的1的个数。 2. 什么是“引用”?申明和使用“引用”要注意哪些问题? 答:引用就是某个目标变量的“别名”(alias),对应用的操作与对变量直接操作效果完全相同。申明一个引用的时候,切记要对其进行初始化。引用声明完毕后,相当于目标变量名有两个名称,即该目标原名称和引用名,不能再把该引用名作为其他变量名的别名。... 阅读全文
posted @ 2012-12-13 21:39 猿人谷 阅读(221) 评论(2) 推荐(0) 编辑
跳台阶问题
摘要:转自:http://blog.csdn.net/leo115/article/details/8039962题目:给定一个有N个台阶的楼梯,一个人从下到上开始跳台阶,这个人有两种跳的方式:一次跳一个台阶,一次跳两个台阶;问:从台阶底端跳到台阶顶端,有多少种跳台阶的方式?分析:首先我们考虑最简单的情况。如果只有1个台阶,那么显然只有一种跳法;如果 是2级台阶,那么有2种跳法。对于一个有n级台阶的楼梯来说,我们设跳法为 f(n) ,假如我们先跳1个台阶,则剩下有 n-1 个台阶,跳法为 f(n-1) 次,假如我们先跳2个台阶,则剩下 n-2 阶,跳法为 f(n-2);由此可以推出,对于一个n阶的楼 阅读全文
posted @ 2012-12-13 21:36 猿人谷 阅读(552) 评论(0) 推荐(0) 编辑
百度笔试题---一个简单的递归实现
摘要:由 a-z 0-9 字符构成的三位数密码,要求打印出所有的密码。 1 #include <iostream> 2 #include <string.h> 3 #include <stdio.h> 4 #include <memory.h> 5 using namespace std; 6 7 char data[] = "abcd"; 8 int len = strlen(data); 9 char outa[4] = ""; 10 //memset(outa,0,sizeof(... 阅读全文
posted @ 2012-12-13 21:34 猿人谷 阅读(347) 评论(0) 推荐(0) 编辑
2012年面试题集
摘要:2012年5月份百度实习生招聘笔试题1、C和C++动态内存分配与释放的区别?5月6号去百度暑期实习招聘现场打了满满一瓶酱油,尽管进行了网申,但是没有收到百度的笔试通知,只好和几名同时没有收到通知的好友一同去复旦霸笔了,复旦五角场校区算是一个故地,因为之前腾讯实习招聘笔试也是在这里进行的,幸运的是腾讯出的考题都比较基础,有幸通过了笔试筛选进入了一轮面试,本人水平有限也就这能止步一轮面了,已经很高兴了,并不奢望收到腾讯或百度的橄榄枝,只是希望在参加这样的笔试面试的过程中不断查漏补缺,增加经验,不断提高自己,希望正式找工作的时候能够满足名企的要求。言归正传,回到百度笔试题目上面,百度笔试题目明显和腾 阅读全文
posted @ 2012-12-13 21:32 猿人谷 阅读(273) 评论(0) 推荐(0) 编辑
CSS中的选择器总结
摘要:主要应用的选择器就三类:元素选择器,ID选择器,类选择器。选择器的结合关系有三种:后代结合、子元素结合、相邻兄弟结合。元素选择器就是以html文档中的标准元素标签作为选择器的标志的。如:h1 {color:red; font-size:14px;}ID选择器,以元素的唯一ID作为选择器标志。如:#red {color:red;}#green {color:green;}类选择器,以元素的类(class)作为选择器标志。如:.center {text-align: center}从选择器的结合关系来看:后代结合,就是两个选择器之间用空格分开。如 “A B”,表示A所选择的元素中包含的B所选择的元 阅读全文
posted @ 2012-12-13 21:31 猿人谷 阅读(288) 评论(0) 推荐(0) 编辑
最短摘要
摘要:转自:http://blog.csdn.net/huangxy10/article/details/8087035 2011年题目:Alibaba笔试题:给定一段产品的英文描述,包含M个英文字母,每个英文单词以空格分隔,无其他标点符号;再给定N个英文单词关键字,请说明思路并编程实现方法String extractSummary(String description,String[] key words),目标是找出此产品描述中包含N个关键字(每个关键词至少出现一次)的长度最短的子串,作为产品简介输出。(不限编程语言)20分。人搜面试题:1、求包含所有query的最短距离 一篇文章,切完词之后放 阅读全文
posted @ 2012-12-13 21:29 猿人谷 阅读(231) 评论(0) 推荐(0) 编辑
进程、线程、应用程序之间的关系
摘要:进程是指在系统中正在运行的一个应用程序;线程是系统分配处理器时间资源的基本单元, 或者说进程之内独立执行的一个单元。对于操 作系统而言,其调度单元是线程。一个进程至少包括一个线程,通常将该线程称为主线程。一个进程从主线程的执行开始进而创建一个或多个附加线程,就是所谓基 于多线程的多任务。 那进程与线程的区别到底是什么?进程是执行程序的实例。例如,当你运行记事本程序(Nodepad)时,你就创建了一个用来容纳组成Notepad.exe的代码及其所需调用动态链接库的进程。每个进程均运行在其专用且受保护的地址空间内。因此,如果你同时运行记事本的两个拷贝,该程序正在使用的数据在各自实例中是彼此独立的。 阅读全文
posted @ 2012-12-13 21:27 猿人谷 阅读(846) 评论(0) 推荐(0) 编辑
腾讯,百度,网易游戏,华为笔面经验
摘要:应届生上泡了两年,一直都是下资料,下笔试题,面试题。一直都在感谢那些默默付出的人。写这个帖子花了我两个夜晚的时间,不是为了炫耀,只是为了能给那些“迷惘”的学弟学妹,一点点建议而已。大家何必那么认真,更没必要说脏话。我不在乎你们怎么评价我。只要有人觉得帖子有用,我就欣慰了。谢谢大家,别说脏话,以和为贵。饮水思源,谢谢应届生上默默付出的师兄师姐,谢谢那么多份笔试题,面试题,没有这些资料,就没有现在的我。真心感谢。---------------------------------------------------------------------------------------------- 阅读全文
posted @ 2012-12-13 21:25 猿人谷 阅读(648) 评论(2) 推荐(0) 编辑
static面试
摘要:面试题:static有什么作用?答:在C语言中,static主要定义全局静态变量,定义局部静态变量,定义静态函数一、 定义全局静态变量 :在全局变量前面加上关键字static,该全局变量变成了全局静态变量。全局静态变量有以下特点:(1) 在全局数据区内分配内存(2) 如果没有初始化,其默认值为0(3) 该变量在本文件内从定义开始到文件结束可见二、 定义局部静态变量:在局部静态变量前面加上关键字static,该局部变量便成了静态局部变量。静态局部变量有以下特点:(1) 该变量在全局数据区分配内存(2) 如果不显示初始化,那么将被隐式初始化为0(3) 它始终驻留在全局数据区,直到程序运... 阅读全文
posted @ 2012-12-13 21:13 猿人谷 阅读(694) 评论(0) 推荐(0) 编辑
const用法小结
摘要:常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。因此,定义或说明常类型时必须进行初始化。概述1. const有什么用途?在 c程序中,const的用法主要有定义常量、修饰函数参数、修饰函数返回值等3个用处。在c++程序中,它还可以修饰函数的定义体,定义类中某个成员为常态函数,即不改变类中的数据成员。被const修改的东西都要受到强制保护,可以预防意外的变动,能提高程序的健壮性。2. const与#define相比有什么不同?它们都可以用来定义常量,但const比#define有更多优点:(1) const常量有数据类型,而宏常量没有数据类型。编译器可以对前. 阅读全文
posted @ 2012-12-13 21:10 猿人谷 阅读(493) 评论(0) 推荐(0) 编辑
海量数据笔试真题
摘要:1、海量数据分布在100台电脑中,想个办法高校统计出这批数据的TOP10。方案1:s在每台电脑上求出TOP10,可以采用包含10个元素的堆完成(TOP10小,用最大堆,TOP10大,用最小堆)。比如求TOP10大,我们首先取前10个元素调整成最小堆,如果发现,然后扫描后面的数据,并与堆顶元素比较,如果比堆顶元素大,那么用该元素替换堆顶,然后再调整为最小堆。最后堆中的元素就是TOP10大。 2、 1000万字符串,其中有些是重复的,需要把重复的全部去掉,保留没有重复的字符串。请怎么设计和实现?方案1:这题用trie树比较合适,hash_map也应该能行。3、一个文本文件,找出前10个经常出现的词 阅读全文
posted @ 2012-12-13 21:07 猿人谷 阅读(395) 评论(0) 推荐(0) 编辑
创新工场面试题
摘要:1,如何删除一个搜索二叉树的结点解:情况一:根节点1>无孩子:则放回空2>有一个孩子,则放回其孩子3>有两个孩子,则返回其左孩子,将右孩子作为左子树的最右边的结点的右孩子;或者返回右子树,将左子树作为右子树的最左结点的左孩子。情况二:非根结点1>无孩子:直接删去2>一个孩子:则将孩子代替自己接入父节点。3>两个孩子:方法一:如果本身是左孩子,则将左子树接入父节点,将右子树作为左子树最右结点的右孩子。如果本身是右孩子,则将右子树接入父节点,将左子树作为右子树最左结点的左孩子。方法二:用直接前驱或者后继来代替自己,再删除直接前驱或者后继。直接前驱为左子树的最右结 阅读全文
posted @ 2012-12-13 21:05 猿人谷 阅读(469) 评论(0) 推荐(0) 编辑
搜狗笔试题
摘要:转自:http://blog.csdn.net/huangxy10/article/details/8071242搜狗:1,有n*n个正方形格子,每个格子里有正数或者0,从最左上角往最右下角走,只能向下和向右走。一共走两次,把所有经过的格子的数加起来,求最大值。且两次如果经过同一个格子,则该格子的数只加一次。思路:搜索:一共搜(2n-2)步,每一步有四种走法。考虑不相交等条件可以剪去很多枝。复杂度为O(4^n)动态规划:by:绿色夹克衫详细算法思路:http://www.51nod.com/question/index.html#!questionId=657s[k][i][j] = max( 阅读全文
posted @ 2012-12-13 21:04 猿人谷 阅读(263) 评论(0) 推荐(0) 编辑
360笔试题2013
摘要:转自:http://blog.csdn.net/huangxy10/article/details/8066408 编程题、传教士人数M,野人C,M≥C,开始都在岸左边,①船只能载两人,传教士和野人都会划船,当然必须有人划船②两岸边保证野人人数不能大于传教士人数 把所有人都送过河,设计一方案,要求编程实现。思路:深度搜索。状态:左岸和右岸的人数+船的位置。每一个状态下,会有5种状态可以转移,即:1,运送2个传教士到对岸;2,运送2个野人到对岸;3,运送1个传教士到对岸;4,运送1个野人到对岸;5,运送1个传教士和一个野人到对岸。从初始状态开始搜,搜索这五种情况,进入下一状态,判断该状态是否满足 阅读全文
posted @ 2012-12-13 21:02 猿人谷 阅读(285) 评论(0) 推荐(0) 编辑
笔试题集锦
摘要:第一部分(必做):计算机基础类(所有的选择题都是多项选择)1、假设进栈次序是e1, e2, e3, e4,那可能的出栈次序是()A、e2, e4, e3, e1B、e2, e3, e4, e1C、e3, e2, e4, e1D、e1, e2, e4, e32、表达式X=A+B*(C-D)/E的后缀表示形式可以是()A、XAB+CDE/-*=B、XA+BC-DE/*=C、XABCD-*E/+=D、XABCDE+*/=3、以下排序算法是非稳定排序的是()A、冒泡排序 B、归并排序 C、快速排序 D、堆排序 E、希尔排序4、一个包含n个结点的四叉树,每一个节点都有4个指向孩子节点的指针,这4n个指针 阅读全文
posted @ 2012-12-13 18:43 猿人谷 阅读(363) 评论(0) 推荐(0) 编辑
找工作有用的博客
摘要:http://blog.csdn.net/hackbuteer1/article/details/7581353#comments http://blog.csdn.net/huangxy10/article/details/8041706 阅读全文
posted @ 2012-12-13 18:42 猿人谷 阅读(134) 评论(0) 推荐(0) 编辑
2012 人民搜索 实习生招聘 笔试题
摘要:1、打印汉诺塔移动步骤,并且计算复杂度。方法是递归,将n-1层移到中间柱,然后将最底层移到目标柱,然后再把n-1层移到目标柱。f(n) = 2f(n-1) + 1 , f(1) = 1f(n) + 1 = 2( f(n-1) + 1 )f(n) = 2^n - 1T(n) = O(2^n);2、计算两个字符串的是否相似(字符的种类,和出现次数相同) 先比较strlen,如果不相等,直接返回false 根据ASCII码建表 str[255],然后比较字符的出现次数,如有一个不同,返回false。 然后比较位置吧。有一个不同,就返回true。3、定义二叉树,节点值为int,计算二叉树中的值在[a, 阅读全文
posted @ 2012-12-13 18:40 猿人谷 阅读(212) 评论(0) 推荐(0) 编辑
笔试面试的准备工作
摘要:10月份将是面试的高峰时期,所以在那之前要复习一下以前学到的东西。这里总结一下知识的大致结构,之后不断完善。1,数据结构(这部分最基础,也是最重要的) 基本数据结构: 链表,二叉树,字符串 中级数据结构:哈希表,图,树,栈 高级数据结构:线段树,字典树,交并集 评价:基本的数据结构在面试中经常考到,需要熟练掌握,其他的要了解概念,能写个大概的程序即可。2,算法(这也很重要) 排序:快速,合并,堆 计数排序,基数排序 基本算法: 穷举法(没意思),动态规划,贪心法,分治法 基本搜索:二分法,查找树 高级搜索:分支定界,回溯法,DFS,BFS,A*3,C/C+... 阅读全文
posted @ 2012-12-13 18:35 猿人谷 阅读(254) 评论(0) 推荐(0) 编辑
百度2013年校园招聘题
摘要:第一题,基础题:1. 数据库及线程产生死锁的原理和必要条件,如何避免死锁。2. 列举面向对象程序设计的三个要素和五项基本原则。解答:封装,继承,多态面向对象的五大基本原则单一职责原则(SRP)开放封闭原则(OCP)里氏替换原则(LSP)依赖倒置原则(DIP)接口隔离原则(ISP)单一职责原则(SRP)3.Windows内存管理的方式有哪些?各自的优缺点。第二题,算法与程序设计:1.公司举行羽毛球比赛,采用淘汰赛,有1001个人参加,要决出“羽毛球最高选手”,应如何组织这次比赛?可以使用伪代码。解答:堆排序或者竞标赛排序。2.有100盏灯泡,第一轮点亮所有电灯,第二轮每两盏灯熄灭一盏,即熄灭第2 阅读全文
posted @ 2012-12-13 18:33 猿人谷 阅读(258) 评论(0) 推荐(0) 编辑
笔试题收集
摘要:http://blog.csdn.net/huangxy10/article/category/1244308 阅读全文
posted @ 2012-12-13 18:31 猿人谷 阅读(164) 评论(0) 推荐(0) 编辑
创新梦工厂笔试题2013年校园招聘
摘要:时间:2012年9月27日 地点:鼎好大厦10层考试时长:1小时一, 选择题1,求z的结果1 [cpp] view plaincopyprint?2 3 #define N 3 4 #define Y(n) ((N+1)*n) 5 z = 2*(N+Y(5+1)); 解答:482,有关多线程,多进程的描述错误的是A,子进程获得父进程的数据空间,堆和栈的复制品B,线程可以与同进程的其他线程共享数据,但是它拥有自己的栈空间且拥有独立的执行序列C,线程执行开销小,但是不利于资源管理和保护D,进程适合在SMP机器上进行,而线程则可以跨机器迁移解答:D3,1 [cpp] v... 阅读全文
posted @ 2012-12-13 18:29 猿人谷 阅读(346) 评论(0) 推荐(0) 编辑
getch和getchar的区别
摘要:函数名: getch();功 能: 从控制台无回显地取一个字符函数名: getchar();功 能: 从stdin流中读字符函数名: scanf();功 能: getchar有一个int型的返回值.当程序调用getchar时.程序就等着用户按键.用户输入的字符被存放在键盘缓冲区中.直到用户按回车为止... 阅读全文
posted @ 2012-12-13 17:15 猿人谷 阅读(642) 评论(0) 推荐(0) 编辑
光标定位,隐藏光标
摘要:最近写贪吃蛇游戏时,需要用到光标定位,故总结如下。方法一: 1 #include<windows.h> 2 #include<stdio.h> 3 4 HANDLE hout=GetStdHandle(STD_OUTPUT_HANDLE); 5 COORD coord; 6 void locate(int x,int y) 7 { 8 coord.X=x; 9 coord.Y=y;10 SetConsoleCursorPosition(hout,coord);11 12 };13 14 int main()15 16 { 17 locate(2,2);1... 阅读全文
posted @ 2012-12-13 17:02 猿人谷 阅读(3830) 评论(2) 推荐(2) 编辑
内存泄露
摘要:1.简介 在计算机科学中,内存泄漏(memory leak)指由于疏忽或错误造成程序未能释放已经不再使用的内存的情况。内存泄漏并非指内存在物理上的消失,而是应用程序分配某段内存后,由于设计错误,失去了对该段内存的控制,因而造成了内存的浪费。内存泄漏与许多其他问题有着相似的症状,并且通常情况下只能由那些可以获得程序源代码的程序员才可以分析出来。然而,有不少人习惯于把任何不需要的内存使用的增加描述为内存泄漏,严格意义上来说这是不准确的。 一般我们常说的内存泄漏是指堆内存的泄漏。堆内存是指程序从堆中分配的,大小任意的(内存块的大小可以在程序运行期决定),使用完后必须显式释放的内存。应用程... 阅读全文
posted @ 2012-12-13 11:29 猿人谷 阅读(379) 评论(0) 推荐(0) 编辑
堆和栈的区别
摘要:堆和栈的区别 一般认为在c中分为这几个存储区 1栈 - 有编译器自动分配释放 2堆 - 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收 3全局区(静态区),全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。- 程序结束释放 4另外还有一个专门放常量的地方。 - 程序结束释放 在函数体中定义的变量通常是在栈上,用malloc, calloc, realloc等分配内存的函数分 配得到的就是在堆上。在所有函数体外定义的是全局量,加了static修饰符后不管在哪里都存放在全局区(静态区),在所有函数. 阅读全文
posted @ 2012-12-13 09:39 猿人谷 阅读(744) 评论(0) 推荐(0) 编辑
C++中指针和引用的区别
摘要:指针和引用主要有以下区别:引用必须被初始化,但是不分配存储空间。指针不声明时初始化,在初始化的时候需要分配存储空间。引用初始化后不能被改变,指针可以改变所指的对象。不存在指向空值的引用,但是存在指向空值的指针。注意:引用作为函数参数时,会引发一定的问题,因为让引用作参数,目的就是想改变这个引用所指向地址的内容,而函数调用时传入的是实参,看不出函数的参数是正常变量,还是引用,因此可能引发错误。所以使用时一定要小心谨慎。从概念上讲。指针从本质上讲就是存放变量地址的一个变量,在逻辑上是独立的,它可以被改变,包括其所指向的地址的改变和其指向的地址中所存放的数据的改变。而引用是一个别名,它在逻辑上不是独 阅读全文
posted @ 2012-12-13 09:37 猿人谷 阅读(2091) 评论(0) 推荐(0) 编辑
du熊学斐波那契I
摘要:du熊学斐波那契ITime Limit : 2000/1000ms (C/Other)Memory Limit : 65535/32768K (C/Other)本次组委会推荐使用C、C++Problem Descriptiondu熊对数学一直都非常感兴趣。最近在学习斐波那契数列的它,向你展示了一个数字串,它称之为“斐波那契”串:11235813471123581347112358........聪明的你当然一眼就看出了这个串是这么构造的:1.先写下两位在0~9范围内的数字a, b,构成串ab;2.取串最后的两位数字相加,将和写在串的最后面。上面du熊向你展示的串就是取a = b = 1构造出来 阅读全文
posted @ 2012-12-13 09:31 猿人谷 阅读(253) 评论(0) 推荐(0) 编辑
class和struct
摘要:转自:http://www.cnblogs.com/anytao/archive/2007/04/24/must_net_04.html本文将介绍以下内容:• 面向对象基本概念• 类和结构体简介• 引用类型和值类型区别1.引言提起class和struct,我们首先的感觉是语法几乎相同,待遇却翻天复地。历史将接力棒由面向过程编程传到面向对象编程,class和 struct也背负着各自的命运前行。在我认为,struct英雄迟暮,class天下独行,最本质的区别是class是引用类型,而struct是值类 型,它们在内存中的分配情况有所区别。由此产生的一系列差异性,本文将做以全面讨论。2. 基本概念 阅读全文
posted @ 2012-12-13 09:24 猿人谷 阅读(316) 评论(0) 推荐(0) 编辑
《博客园精华集》分类索引
摘要:转自:http://www.cnblogs.com/KnightsWarrior/archive/2010/05/24/1742422.html由于这几年一直热衷于.NET技术,但由于自己项目很忙,也许是自己很懒,所以没能写出 好的博文,但养成了每天浏览博客园文章的习惯。转眼间即将扎根五年,收获颇多... 阅读全文
posted @ 2012-12-13 09:16 猿人谷 阅读(250) 评论(0) 推荐(0) 编辑
运算符优先级
摘要:优先级运算符名称或含义使用形式结合方向说明1[]数组下标数组名[常量表达式]左到右()圆括号(表达式)/函数名(形参表).成员选择(对象)对象.成员名->成员选择(指针)对象指针->成员名2-负号运算符-表达式右到左单目运算符(类型)强制类型转换(数据类型)表达式++自增运算符++变量名/变量名++单目运算符--自减运算符--变量名/变量名--单目运算符*取值运算符*指针变量单目运算符&取地址运算符&变量名单目运算符!逻辑非运算符!表达式单目运算符~按位取反运算符~表达式单目运算符sizeof长度运算符sizeof(表达式)3/除表达式/表达式左到右双目运算符*乘表 阅读全文
posted @ 2012-12-13 08:52 猿人谷 阅读(350) 评论(0) 推荐(0) 编辑
HANDLE
摘要:HANDLE:句柄,是Windows用来表示对象的(不是C++的对象),HWND是其中一种,HWND是HANDLE,但HANDLE不只是HWND,更具体的查MSDN吧。 HANDLE(句柄)是windows操作系统中的一个概念。在window程序中,有各种各样的资源(窗口、图标、光标等),系统在创建这些资源时会为它们分配内存,并返回标示这些资源的标示号,即句柄。句柄指的是一个核心对象在某一个进程中的唯一索引,而不是指针。由于地址空间的限制,句柄所标识的内容对进程是不可见的,只能由操作系统通过进程句柄列表来进行维护。句柄列表: 每个进程都要创建一个句柄列表,这些句柄指向各种系统资源,比如... 阅读全文
posted @ 2012-12-12 22:12 猿人谷 阅读(320) 评论(0) 推荐(0) 编辑
求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。
摘要:题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时 共有5个数相加),几个数相加有键盘控制。1.程序分析:关键是计算出每一项的值。2.程序源代码: 1 #include<stdio.h> 2 int main() 3 { int a,n,count=1; 4 long int sn=0,tn=0; 5 printf("please input a and n\n"); 6 scanf("%d,%d",&a,&n); 7 printf("a=%d 阅读全文
posted @ 2012-12-12 15:48 猿人谷 阅读(11745) 评论(0) 推荐(0) 编辑
sqrt()的运用
摘要:题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。请看具体分析:2.程序源代码:#include<stdio.h>#include<math.h>int main(){ long int i,x,y; for(i=1;i<10000;i++) { x=sqrt(i+100); y=sqrt(i+268); if(x*x==i+100&&y*y==i+268) printf(&q 阅读全文
posted @ 2012-12-12 15:34 猿人谷 阅读(354) 评论(0) 推荐(0) 编辑
金山试题
摘要:来源:http://blog.pfan.cn/jixian/27083.html1. 结构POINT定义如下:typedef struct tagPOINT { int x; int y; } POINT用变量var给出下面的定义例:一个POINT 变量答案:POINT var;a. 一个指向POINT的指针;b. 一个指向指针的指针,它指向的指针是指向一个POINT;c. 一个有16个POINT的数组;d. 一个有16个指针的数组,每个指针指向一个POINT;e. 一个指向数组的指针,该数组有16个POINT2. 实现函数IsEven,用于判断一个给定的整数是否为偶数3. 写一个函数,... 阅读全文
posted @ 2012-12-12 13:29 猿人谷 阅读(202) 评论(0) 推荐(0) 编辑
time.h从头学
摘要:来源:http://blog.pfan.cn/jixian/20485.html本文从介绍基础概念入手,探讨了在C/C++中对日期和时间操作所用到的数据结构和函数,并对计时、时间的获取、时间的计算和显示格式等方面进行了阐述。本文还通过大量的实例向你展示了time.h头文件中声明的各种函数和数据结构的详细使用方法。关键字:UTC(世界标准时间),Calendar Time(日历时间),epoch(时间点),clock tick(时钟计时单元)1.概念 在C/C++中,对字符串的操作有很多值得注意的问题,同样,C/C++对时间的操作也有许多值得大家注意的地方。最近,在技术群中有很多网友也多次问到过 阅读全文
posted @ 2012-12-12 13:26 猿人谷 阅读(332) 评论(0) 推荐(0) 编辑
rand(),srand()产生随机数
摘要:rand()函数可以用来产生随机数,但是这不是真正意义上的随机数,是一个伪随机数,是根据一个数,我们可以称它为种子,为基准以某个递推公式推算出来的一系数,当这系列数很大的时候,就符合正态公布,从而相当于产生了随机数,但这不是真正的随机数,当计算机正常开机后,这个种子的值是定了的,除非你破坏了系统,为 阅读全文
posted @ 2012-12-12 11:20 猿人谷 阅读(11523) 评论(5) 推荐(2) 编辑
sprintf详细用法
摘要:转摘声明:选自《CSDN 社区电子杂志——C/C++杂志》来源:http://www.cnblogs.com/wqlblogger/archive/2007/01/09/615525.html函数功能: 把格式化的数据写入某个字符串缓冲区。头文件: stdio.h函数原型: int sprintf( char *buffer, const char *format, [ argument] … );参数列表: buffer:char型指针,指向将要写入的字符串的缓冲区。 format:char型指针,指向的内存里面存放的将要格式字符串。 [argument]...:可选参数,可... 阅读全文
posted @ 2012-12-12 09:41 猿人谷 阅读(480) 评论(0) 推荐(0) 编辑
写一个标准宏MIN
摘要:#define MIN(a,b)((a)<=(b)?(a):(b)) 阅读全文
posted @ 2012-12-12 09:27 猿人谷 阅读(501) 评论(0) 推荐(0) 编辑
delete与 delete []区别
摘要:delete[]中的[]是要告诉c++,指向的是一个数组,如果在[]中填上了数组的长度信息,c++编译系统将忽略,并把它作为[]对待。但如果忘记了写[],则程序会产生运行错误。 delete只会调用一次析构函数,而delete[]会调用每一个成员的析构函数。在More Effective C++中... 阅读全文
posted @ 2012-12-11 22:32 猿人谷 阅读(341) 评论(0) 推荐(0) 编辑
volatile
摘要:当一个对象的值可能会在编译器的控制或监测之外被改变时,例如一个被系统时钟更新的变量,那么该对象应该声明成volatile。因此编译器执行的某些例行优化行为不能应用在已指定为volatile的对象上。volatile修饰符的主要目的是提示编译器该对象的值可能在编译器未监测到的情况下被改变,因此编译器不能武断地对引用这些对象的代码做优化处理。一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。下面是volatile变量的几个例子:并行设备. 阅读全文
posted @ 2012-12-11 22:32 猿人谷 阅读(271) 评论(0) 推荐(0) 编辑
c++程序的内存格局
摘要:c++程序的内存格局通常分为四个区:全局数据区;代码区;栈区;堆区(即自由存储区)。 全局变量、静态数据、常量存放在全局数据区,所有类成员函数和非成员函数代码存放在代码区,为运行函数而分配的局部变量、函数参数、返回地址等存放在栈区,余下的空间都被称为堆区。new和delete,malloc和free,都从堆中分配和释放内存块,但在具体操作上两者有很大的区别。详细的内存分配情况见:http://www.cnblogs.com/heyonggang/p/3250220.html根据《C++内存管理技术内幕》一书,在C++中,内存分成5个区,他们分别是堆,栈,自由存续区,全局/静态存续区,常量存续区 阅读全文
posted @ 2012-12-11 22:26 猿人谷 阅读(975) 评论(0) 推荐(0) 编辑
句柄和指针的区别和联系是什么?
摘要:句柄和指针其实是两个截然不同的概念。Windows系统用句柄标记系统资源,用句柄隐藏系统的信息。你只要知道有这个东西,然后去调用就行了,它是个32bit的uint。指针则标记某个物理内存地址,是不同的概念。 句柄是一种指向指针的指针。 阅读全文
posted @ 2012-12-11 22:24 猿人谷 阅读(306) 评论(0) 推荐(0) 编辑
malloc和new有什么区别
摘要:malloc和new有以下不同:new、delete是操作符,可以重载,只能在c++中使用。malloc、free是函数,可以覆盖,c、c++中都可以使用。new可以调用对象的构造函数,对应的delete调用相应的析构函数。malloc仅仅负责分配内存,free仅仅回收内存,并不执行构造和析构函数。new、delete返回的是某种数据类型指针,malloc、free返回的是void指针。注意:malloc申请的内存空间要用free释放,而new申请的内存空间要用delete释放,不要混用。因为两者实现的机理不同。有了malloc/free为什么还要new/delete?malloc/free是 阅读全文
posted @ 2012-12-11 22:23 猿人谷 阅读(525) 评论(0) 推荐(0) 编辑
sizeof和strlen的区别
摘要:第一个例子: char *ss="0123456789"; sizeof(ss)=4,ss是指向字符串常量的字符指针。 sizeof(*ss)=1,*ss是第一个字符。第二个例子: char ss[]="0123456789";sizeof(ss)=11, ss是数组,计算到“\0”位置,因此是(10+1)。 sizeof(*ss)=1,*ss是第一个字符。第三个例子: char ss[100]="0123456789";sizeof(ss)=100, ss表示在内存中预分配的大小,100*1。strlen(ss)=10,它的内部是用 阅读全文
posted @ 2012-12-11 22:23 猿人谷 阅读(603) 评论(1) 推荐(0) 编辑
用C来实现内存池
摘要:介绍: 设计内存池的目标是为了保证服务器长时间高效的运行,通过对申请空间小而申请频繁的对象进行有效管理,减少内存碎片的产生,合理分配管理用户内存,从而减少系统中出现有效空间足够,而无法分配大块连续内存的情况。目标: 此次设计内存池的基本目标,需要满足线程安全性(多线程),适量的内存泄露越界检查,运行效率不太低于malloc/free方式,实现对4-128字节范围内的内存空间申请的内存池管理(非单一固定大小对象管理的内存池)。内存池技术设计与实现 本内存池的设计方法主要参考SGI的alloc的设计方案,为了适合一般的应用,并在alloc的基础上做一些简单的修改。 Mempool的内存池设计方案如 阅读全文
posted @ 2012-12-11 22:19 猿人谷 阅读(602) 评论(0) 推荐(1) 编辑
备注
摘要:1.绝对的大牛,受益很多,特别是《数据结构》部分http://www.cnblogs.com/JCSU/articles/1305678.html在VMware Workstation的Ubuntu下安装和配置Hadoop与Ganglia:http://www.cnblogs.com/dolphin... 阅读全文
posted @ 2012-12-11 22:15 猿人谷 阅读(233) 评论(0) 推荐(0) 编辑
手机上网的原理
摘要:GSM就是Global System For Mobile Communication的缩写,意思是全球移动通信系统,就是我们所说的全球通。这个系统是由欧洲主要电信运营者和制造厂家组成的标准化委员会设计开发的。全球通是中国移动通信数字移动电话网所拥有的著名用户品牌。网号139,138,137,136,135都是属于GSM数字移动电话网的,只是 139,138最先开通使用,后来扩充到了这么多。他们的信号接收能力,拨号方法,覆盖范围,漫游地区,使用功能是一致的。下面来说说他的技术,他采用的是数字调制技术,关键之一是时分多址就是说每一个用户在某一个时间上选用载频并且只能在特定时间下收信息。GSM的主 阅读全文
posted @ 2012-12-11 22:14 猿人谷 阅读(963) 评论(0) 推荐(0) 编辑
c/c++ 宏中"#"和"##"的用法
摘要:c/c++ 宏中"#"和"##"的用法2007年05月14日 星期一 上午 10:19一、一般用法我们使用#把宏参数变为一个字符串,用##把两个宏参数贴合在一起.用法:#i nclude<cstdio>#i nclude<climits>using namespace std; #define STR(s) #s#define CONS(a,b) int(a##e##b)int main(){ printf(STR(vck)); // 输出字符串"vck" printf("%d\n", CO 阅读全文
posted @ 2012-12-11 22:01 猿人谷 阅读(239) 评论(0) 推荐(0) 编辑
endl用法
摘要:endl是一个特殊值,称为操纵符(manipulator),将它写入输出流时,具有输出换行的效果,并刷新与设备相关联的缓冲区(buffer)。通过刷新缓冲区,用户可立即看到写入到流中的输出。程序员经常在调试过程中插入输出语句,这些语句都应该刷新输出流。忘记刷新输出流可能会造成输出停留在缓冲区中,如果程序崩溃,将会导致对程序崩溃位置的错误判断。 阅读全文
posted @ 2012-12-11 18:17 猿人谷 阅读(500) 评论(0) 推荐(0) 编辑
将一个正整数分解质因数
摘要:1 #include<stdio.h> 2 int main() 3 { int n,i; 4 printf("please input a number:\n"); 5 scanf("%d",&n); 6 printf("%d=",n); 7 for(i=2;i<=n;i++) 8 { 9 while(n!=i)10 { 11 if(n%i==0)12 { printf("%d*",i);13 n=n/i;14 }15 else16 ... 阅读全文
posted @ 2012-12-11 17:42 猿人谷 阅读(266) 评论(0) 推荐(0) 编辑
“水仙花”数
摘要:题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数 本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。2.程序源代码: 1 #include<stdio.h> 2 int main() 3 { int i,j,k,n; 4 printf("water flower number is:\n"); 5 for(n=100;n<1000;n++) 6 { i=n/100; /*分解出百位*/ 7 k=n/1 阅读全文
posted @ 2012-12-11 17:28 猿人谷 阅读(325) 评论(0) 推荐(0) 编辑
计算阶乘n!
摘要:#include<stdio.h>int main(){ int n,k,p; printf("输入阶乘的基数n:\n"); scanf("%d",&n); p=1; k=1; while(k<=n) { p=p*k; k++; } printf("%d的阶乘为%d\n",n,p); return 0;} 阅读全文
posted @ 2012-12-11 17:14 猿人谷 阅读(288) 评论(0) 推荐(0) 编辑
打印乘法口诀表
摘要:1 #include<stdio.h> 2 int main() 3 { int i,j; 4 for(i=1;i<=9;i++) 5 { 6 for(j=1;j<=i;j++) 7 printf("%d*%d=%-4d",j,i,i*j); 8 printf("\n"); 9 }10 return 0;11 } 阅读全文
posted @ 2012-12-11 17:04 猿人谷 阅读(326) 评论(0) 推荐(0) 编辑
打印楼梯,同时在楼梯上方打印两个笑脸
摘要:题目:打印楼梯,同时在楼梯上方打印两个笑脸。 1.程序分析:用i控制行,j来控制列,j根据i的变化来控制输出黑方格的个数。2.程序源代码: 1 #include<stdio.h> 2 int main() 3 { int i,j; 4 printf("\1\1\n"); //打印两个笑脸 5 for(i=1;i<11;i++) 6 { for(j=1;j<i;j++) 7 printf("%c%c",23,23); //23这个数字可以是任意数,代表该数所对应的符号 8 printf("\n"); 9 }10 阅读全文
posted @ 2012-12-11 16:53 猿人谷 阅读(1206) 评论(0) 推荐(0) 编辑
Climbing Worm
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1049 1 #include <iostream> 2 using namespace std; 3 int main() 4 { 5 int n,u,d,s,t; 6 while (cin >> n >> u >> d) 7 { 8 if (n==0) 9 return 0;10 else11 {12 s=0;13 t=0;14 while ... 阅读全文
posted @ 2012-12-11 16:36 猿人谷 阅读(222) 评论(0) 推荐(0) 编辑
Higher Math
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=2393 1 #include <iostream> 2 using namespace std; 3 int main() 4 { 5 int n,a,b,c; 6 cin >> n; 7 for (int i=1;i<=n;i++) 8 { 9 cin >> a >> b >> c;10 if (a*a+b*b==c*c || a*a+c*c==b*b || b*b+c*c==a*a)11 {12 cou... 阅读全文
posted @ 2012-12-11 16:35 猿人谷 阅读(393) 评论(0) 推荐(0) 编辑
Buildings
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=2560Problem DescriptionWe divide the HZNU Campus into N*M grids. As you can see from the picture below, the green grids represent the buidings. Given the size of the HZNU Campus, and the color of each grid, you should count how many green grids in the N*M gr 阅读全文
posted @ 2012-12-11 16:33 猿人谷 阅读(262) 评论(0) 推荐(0) 编辑
A+B for Input-Output Practice (VIII)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1096Problem DescriptionYour task is to calculate the sum of some integers.InputInput contains an integer N in the first line, and then N lines follow. Each line starts with a integer M, and then M integers follow in the same line.OutputFor each group of inpu 阅读全文
posted @ 2012-12-11 16:31 猿人谷 阅读(333) 评论(0) 推荐(0) 编辑
A+B for Input-Output Practice (VII)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1095Problem DescriptionYour task is to Calculate a + b.InputThe input will consist of a series of pairs of integers a and b, separated by a space, one pair of integers per line.OutputFor each pair of input integers a and b you should output the sum of a and 阅读全文
posted @ 2012-12-11 16:29 猿人谷 阅读(586) 评论(0) 推荐(0) 编辑
A+B for Input-Output Practice (VI)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1094Problem DescriptionYour task is to calculate the sum of some integers.InputInput contains multiple test cases, and one case one line. Each case starts with an integer N, and then N integers follow in the same line.OutputFor each test case you should outp 阅读全文
posted @ 2012-12-11 16:28 猿人谷 阅读(458) 评论(0) 推荐(0) 编辑
A+B for Input-Output Practice (V)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1093Problem DescriptionYour task is to calculate the sum of some integers.InputInput contains an integer N in the first line, and then N lines follow. Each line starts with a integer M, and then M integers follow in the same line.OutputFor each group of inpu 阅读全文
posted @ 2012-12-11 16:27 猿人谷 阅读(426) 评论(0) 推荐(0) 编辑
A+B for Input-Output Practice (IV)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1092Problem DescriptionYour task is to Calculate the sum of some integers.InputInput contains multiple test cases. Each test case contains a integer N, and then N integers follow in the same line. A test case starting with 0 terminates the input and this tes 阅读全文
posted @ 2012-12-11 16:25 猿人谷 阅读(336) 评论(0) 推荐(0) 编辑
A+B for Input-Output Practice (III)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1091Problem DescriptionYour task is to Calculate a + b.InputInput contains multiple test cases. Each test case contains a pair of integers a and b, one pair of integers per line. A test case containing 0 0 terminates the input and this test case is not to be 阅读全文
posted @ 2012-12-11 16:23 猿人谷 阅读(451) 评论(0) 推荐(0) 编辑
A+B for Input-Output Practice (II)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1090Problem DescriptionYour task is to Calculate a + b.InputInput contains an integer N in the first line, and then N lines follow. Each line consists of a pair of integers a and b, separated by a space, one pair of integers per line.OutputFor each pair of i 阅读全文
posted @ 2012-12-11 16:21 猿人谷 阅读(551) 评论(0) 推荐(0) 编辑
A+B for Input-Output Practice (I)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1089Problem DescriptionYour task is to Calculate a + b.Too easy?! Of course! I specially designed the problem for acm beginners.You must have found that some problems have the same titles with this one, yes, all these problems were designed for the same aim. 阅读全文
posted @ 2012-12-11 16:20 猿人谷 阅读(462) 评论(0) 推荐(0) 编辑
linux时间相关结构体和函数整理
摘要:一、时间类型。Linux下常用的时间类型有4个:time_t,struct timeb, struct timeval,struct timespec,clock_t, struct tm.(1) time_t是一个长整型,一般用来表示用1970年以来的秒数.该类型定义在<sys/time.h>中.一般通过 time_t time = time(NULL); 获取.(2) struct timeb结构: 主要有两个成员, 一个是秒, 另一个是毫秒, 精确度为毫秒.1 struct timeb2 {3 time_t time;4 unsigned short millitm;5 .. 阅读全文
posted @ 2012-12-11 15:37 猿人谷 阅读(516) 评论(0) 推荐(0) 编辑
多核环境下cache line的测试
摘要:前阵子接触到一道关于数组内部链表(多用于内存池技术)的数据结构的题, 这种数据结构能够比普通链表在cache中更容易命中, 理由很简单, 就是因为其在地址上是连续的(=.=!), 借这个机会, 就对cpu cache进行了一个研究, 今天做一个简单的分享, 首先先来普及一下cpu cache的知识, 这里的cache是指cpu的高速缓存. 在我们程序员看来,缓存是一个透明部件. 因此, 程序员通常无法直接干预对缓存的操作. 但是, 确实可以根据缓存的特点对程序代码实施特定优化, 从而更好地利用高速缓存.高速缓存的置换策略会尽可能地将 访问频繁的数据放入cache中, 这是一个动态的过程, 所以 阅读全文
posted @ 2012-12-11 15:32 猿人谷 阅读(854) 评论(0) 推荐(0) 编辑
cctype
摘要:在头文件<ctype.h>中定义了一些测试字符的函数。在这些函数中,每个函数的参数都是整型int,而每个参数的值或者为EOF,或者为char类型的字符。<ctype.h>中定义的标准函数列表如下:函数定义函数功能简介int isalnum(int c)检查字符是否是字母或数字int isalpha(int c)检查字符是否是字母int isascii(int c)检查字符是否是ASCII码int iscntrl(int c)检查字符是否是控制字符int isdigit(int c)检查字符是否是数字字符int isgraph(int c)检查字符是否是可打印字符int 阅读全文
posted @ 2012-12-11 13:39 猿人谷 阅读(339) 评论(0) 推荐(0) 编辑
C++小结(1)
摘要:1. overload 仅仅返回值类型不同的函数不能被重载.2. 所谓私有,是指该成员只能被类本身的方法访问----即使是这个类的对象也不能直接访问.3. 类的对象所占用的空间是其成员变量所用内存的总和(可sizeof求证),对象指针指向其首个成员变量地址.对象的函数不占用对象的内存空间(即使函数中有局部变量)4. const关键字的主要作用是利用编译程序进行排错.和限制对成员的改变.表现在以下方面:(1)const成员函数:const位于形参括号之后,分号之前.该函数不能修改成员变量.(2)const类:对一个类说明使用了const,实际上是说明了一个const型的this指针,该指针只能调 阅读全文
posted @ 2012-12-11 13:31 猿人谷 阅读(264) 评论(0) 推荐(0) 编辑
输入某年某月某日,判断这一天是这一年的第几天
摘要:题目:输入某年某月某日,判断这一天是这一年的第几天?1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊 情况,闰年且输入月份大于3时需考虑多加一天。2.程序源代码: 1 #include<stdio.h> 2 int main() 3 { 4 int day,month,year,sum,leap; 5 printf("\nplease input year,month,day\n"); 6 scanf("%d,%d,%d",&year,&month,&day); 7 switc 阅读全文
posted @ 2012-12-11 13:26 猿人谷 阅读(1993) 评论(0) 推荐(1) 编辑
三位数的排列组合
摘要:题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。 2.程序源代码: 1 #include<stdio.h> 2 int main() 3 { int i,j,k; 4 printf("\n"); 5 for(i=1;i<5;i++) /*以下为三重循环*/ 6 for(j=1;j<5;j++) 7 for(k=1;k<5;k++) 8 { if(i!=k&&i!=j&&j!=k 阅读全文
posted @ 2012-12-11 13:22 猿人谷 阅读(1456) 评论(0) 推荐(0) 编辑
管理朋友信息程序
摘要:问题的提出:设计一个用于管理朋友信息的程序。将朋友信息(年龄、姓名、电话)存放在MyFrd.dat中,从文件读出这些信息并显示,并能按姓名(要求可简化输入,如只输入姓氏便可查询)进行查询,将查询信息输出屏幕。 1 #include 2 #include 3 #include 4 static... 阅读全文
posted @ 2012-12-11 10:52 猿人谷 阅读(324) 评论(0) 推荐(0) 编辑
习题3.13
摘要:题目(习题3.13):读一组整数到vector对象,计算并输出每对相邻元素的和。如果读入元素个数为奇数,则提示用户最后一个元素没有求和,并输出其值。然后修改程序:头尾元素两两配对(第一个和最后一个,第二个和倒数第二个,以此类推),计算每对元素的和,并输出。修改程序后: 阅读全文
posted @ 2012-12-11 09:34 猿人谷 阅读(319) 评论(0) 推荐(0) 编辑
cctype,string,vector
摘要:题目(习题3.14):读入一段文本到vector对象,每个单词存储为vector中的一个元素。把vector对象中每个单词转化为大写字母。输出vector对象中转化后的元素,每八个单词为一行输出。 阅读全文
posted @ 2012-12-11 09:32 猿人谷 阅读(294) 评论(0) 推荐(0) 编辑
结构体字节对齐
摘要:结构体字节对齐 在用sizeof运算符求算某结构体所占空间时,并不是简单地将结构体中所有元素各自占的空间相加,这里涉及到内存字节对齐的问题。从理论上讲,对于任何 变量的访问都可以从任何地址开始访问,但是事实上不是如此,实际上访问特定类型的变量只能在特定的地址访问,这就需要各个变量在空间上按一定的规则排列, 而不是简单地顺序排列,这就是内存对齐。 计算结构变量的大小必须讨论数据对齐的问题。为了使CPU存取的速度最快(这同CPU取数操作有关),c++在处理数据时经常把结构变量中的成员的大小按照4或8的倍数计算,这就叫数据对齐(data alignment)。这样做可能会浪费一些内存,但在理论上CP 阅读全文
posted @ 2012-12-11 08:57 猿人谷 阅读(2172) 评论(4) 推荐(2) 编辑