C++
wanlizhengren
这个作者很懒,什么都没留下…
展开
-
C++产生随机数的方法
c++产生随机数的函数是rand(),它没有参数,返回o至RAND_MAX之间的随机整数(其实是伪随机)。RAND_MAX是系统定义的一个宏(?),我在VS2005上测试的结果显示RAND_MAX应该是一个五位数。如果要自定义一个随机数,可以用参数指定随机数的范围,可以这样定义: double random(double start,double end){ return原创 2009-09-17 11:09:00 · 1169 阅读 · 2 评论 -
do-while语句
do-while语句的一般形式是:do{/*....*/}while(...); 如果do代码块只有一个语句,可以这样写:do i++;while(x[i] do-while语句即使一开始while条件即为假,do语句也会执行一次.原创 2009-09-28 11:11:00 · 536 阅读 · 0 评论 -
Effective C++读书笔记--Item 2:使用const,enum和template inline函数代替宏
这个Item主要针对C程序员。 一、对于单纯常量,最好以const对象或者enums替换#define;二、对于形似函数的宏,最好用inline函数替换#define. 注意:1、什么是the enum hack?在类中定义static类型时编译器不允许赋初值(只能声明),但是你确实要在类中使用该值时,可以用enum代替static。有一个理论基础:一个属于枚举类型原创 2009-09-26 16:11:00 · 950 阅读 · 0 评论 -
双向划分的快速排序
void quictSort(int arr[],int l,int u){ if(l >= u) return; int t = arr[l]; int i = l; int j = u+1; for(;;) { do i++;while(i <= u && arr[i] < t); do j--;while(arr[j] > t); if(i原创 2009-09-28 14:12:00 · 979 阅读 · 0 评论 -
位图排序法
位图排序法有两个限制条件: 1、待排序数据都在一个已知的相对较小的范围内; 2、所有数据没有重复; 位图排序法思想:假设待排序的所有数都小于1000万,那么使用一个具有1000万个位的字符串来表示这个待排序文件,其中,当且仅当整数i在文件中存在时,第i位置为1.具体实现是,定义一个整形数组,如 int order[10000000];然后将i作为数组下标将order[i]=1;最后再做个循环检查如原创 2009-09-17 11:04:00 · 657 阅读 · 0 评论 -
二维数组作函数参数及返回值
需要将二维数组作为函数参数传递进函数里处理,处理完毕后要将二维数组作为函数返回值返回。函数是不能返回数组的,只能返回指针。代码可以这样写:typedef char(*aa)[10];aa sign(char signstr[][10]){ for(int i = 0;i != 6;++i) { qsort(signstr[i],strlen(signstr[i]),si原创 2009-09-22 15:23:00 · 9039 阅读 · 1 评论 -
求最大公因子
最大公因子 最大公因子(greatest common divisor,简写为gcd;或highest common factor,简写为hcf),指某几个整数共有因子中最大的一个。 两个整数的最大公因子主要有两种寻找方法: * 两数各分解质因子,然后取出同样有的项乘起来 * 辗转相除法(扩展版) 和最小公倍数(lcm)的关系:gcd(a, b)×lcm(a, b) = ab原创 2009-09-21 21:25:00 · 4019 阅读 · 0 评论 -
Effective C++读书笔记--Item 1:从四个语言层次理解C++
可以将C++理解成由四个子语言组成:C、Object-Oriented C++、Template C++、STL。 C: 代码块 语句 数组 指针 内置数据类型 预处理器 Object-Oriented C++: 类(构造函数、析构函数、copy构造函数、copy assignment) 封装 继承 多态 virt原创 2009-09-26 15:44:00 · 640 阅读 · 0 评论