代码改变世界

推荐排行榜

C++ Static

2011-06-30 23:04 by x_feng, 437 阅读, 收藏,
摘要: 1,static是干什么的 static是C\C++中常用的修饰符,可以用来修饰局部变量,全局变量以及函数,还有在类中的使用。static改变了变量的存储方式和可见性。2,static的作用主要有3点:1.扩展生存周期,2.限制作用域,3.唯一性。以下详细讨论。另:补充一些常识。一个程序占用的内存区一般分为如下5种情况:全局/静态数据区常量数据区代码区栈堆显然程序的代码存储在代码区中,而程序的数据则要根据数据种类的不同,存储在不同的内存区。全局/静态数据区:存储全局变量及静态变量(包括全局静态变量和局部静态变量)常量数据区:存储的是常量字符串等。栈:存储自动变量或者局部变量,以及传递的函数参数 阅读全文

Programe_Of_Beauty:2.1 求二进制数中1的个数(一点我的想法)

2011-06-06 01:57 by x_feng, 250 阅读, 收藏,
摘要: 对于一个字节(8bit)的无符号整型变量,求其二进制表示中的1的个数。先看看书上给出的解法:解法一:以二进制0000 1010为例,其值为10。10除以2 = 5,其二进制为0000 0101,5除以2 = 2,其二进制为0000 0010.我们发现每除2,二进制向右移了一位。当二进制的最后一位为0时,是偶数,当二进制最后一位为1时是奇数。这样我们就可以不停除2,每一个1都会移到最后的时候。2除不尽说明最后位为1.int count(BYTE v){ int num = 0; while(v) { if (v%2 == 1)//最后一位是1 { num++ ;} v = v/2; }}解法二: 阅读全文

C++数组剖析

2011-06-03 14:42 by x_feng, 320 阅读, 收藏,
摘要: (发现自己像记流水账一样,感觉条例不太清晰,也没有大牛的深入,或许这就是想写博的原因,发现不足和差距,在学习中延伸更多的东西)C++Primer曰:与vector类型相似,数组也可以保持某种类型的一组对象,它们的区别在于:数组长度固定。数组一经创建,就不允许增加新的元素。C++Primer曰:现代C++程序应尽量使用vector。设计良好的程序只有在强调速度时才在类的内部使用数组。C++Primer曰:与vector相比,数组的缺陷在于:数组长度固定,程序员无法知道一个给定数组的长度,无size操作,无push_back动态添加元素。C++Primer曰:与使用vector类型的程序相比,依赖 阅读全文

Programe_Of_Beauty:3.8 求二叉树中节点的最大距离

2011-05-28 19:15 by x_feng, 261 阅读, 收藏,
摘要: 1.问题定义定义距离为两个节点之间边的个数。写一个程序求一棵二叉树中相距最远的两个节点之间的距离。下面是两个例子: 上图中列出了二叉树中节点间距离最大的所有可能情况。箭头所指的边标示了A、B之间最大的距离。2.问题分析从上图中可以看出,距离最远的两个点一定有一个共同的“根”节点,或者其中一个就是根节点(注意前者的“根”与后者的根的区别,前者的“根”包含后者)。因此只要能计算出所有“根”的左子树的最深长度和右子树的最深长度,就可以知道经过此“根”节点的所有路径中的最大距离。通俗的讲,就是计算任意一个节点的左右子树的最深长度。3.递归算法树节点的结构体定义:struct _Node{ _Node 阅读全文