C/C++
文章平均质量分 75
AceMa
Stay Hungry , Stay Foolish!
展开
-
概率算法求定积分的值
/** Abstract:* 设a, b, c和d是实数,且a ≤ b, c ≤ d, * f:[a, b] → [c, d]是一个连续函数,写一概率算法计算积分的值。 * Author :Ace.Ma* Date:2012/9/18* Version:0.1*/#include#include#includeusin原创 2012-11-06 22:13:53 · 3840 阅读 · 0 评论 -
微软2014实习生及秋令营技术类职位在线测试之 2. K-th String
微软2014实习生及秋令营技术类职位在线测试之 2. K-th String解题思路:对于任何一个0*1*0*1*... 串, 能够给出下一个升序的排列的项。关键是设计出一个move的函数,对于当前任何一个串,能够得出其下一个的01字符串是什么。具体如何移动/交换字符串中的01位置,详见代码。原创 2014-04-14 01:08:34 · 1521 阅读 · 0 评论 -
C++内存分配——堆栈祥解
一、预备知识—程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(静态区)(s转载 2014-05-12 20:50:58 · 737 阅读 · 0 评论 -
MonteCarlo算法+改进的Fermat判定素数方法
/* * Abstract: * PPT147,EX10. MonteCarlo算法素数测定与确定性算法求素数的比较, * 并给出100~10000以内的错误的比例。 * * Author : Ace.Ma * Date : 2012/9/28 * Version: 0.1 */#include#include#include#inc原创 2012-11-06 23:35:46 · 1424 阅读 · 1 评论 -
概率算法 预备知识 用rand()和srand()产生伪随机数的方法总结
用rand()和srand()产生伪随机数的方法总结---------------------------------标准库(被包含于中)提供两个帮助生成伪随机数的函数:函数一:int rand(void);返回[0,RAND_MAX(0x7fff) ] 的随机数。注意RAND_MAX=32767,生成的随机数包含32767.函数二:void srand(unsigned原创 2012-09-17 14:53:07 · 1521 阅读 · 0 评论 -
What will the following polymorphic code output in C ++
cloud-security-technology-real-world-guide#include #include #include #include #include using namespace std;class Base{public: virtual int number(){return 0;} char letter(){ return 'b原创 2014-04-07 16:05:11 · 1219 阅读 · 1 评论 -
函数传递 静态数组 学习总结
//程序编辑环境Devc++例一//一维数组的传递 #includeint main(){ float average(float array[],int n); float score_1[5]={98.5,97,91.5,50,55}; float score_2[8]={67.5,89.5,99,69,77,89.5,76,54};原创 2010-04-30 17:20:00 · 764 阅读 · 0 评论 -
C/C++,Java 重定向输入输出流至文件
在我们做Online Judge的时候,OJ基本上都是用标准输入输出。但如果每次调试的时候也都是从控制台输入数据,那就太浪费时间了。我们可以重定向标准输入,调试的时候从文件读数据,提交的时候从标准读。在C语言中,方法比较简单。使用函数freopen(), freopen是被包含与stdio.h头文件中,用于重定向输入输出流的函数。该函数可以在不改变代码原貌的情况下改变输入输出环原创 2014-04-05 13:44:25 · 2597 阅读 · 0 评论 -
经典算法——堆排序
堆排序与快速排序,归并排序一样都是时间复杂度为O(N*logN)的几种常见排序方法。学习堆排序前,先讲解下什么是数据结构中的二叉堆。二叉堆的定义二叉堆是完全二叉树或者是近似完全二叉树。二叉堆满足二个特性:1.父结点的键值总是大于或等于(小于或等于)任何一个子节点的键值。2.每个结点的左子树和右子树都是一个二叉堆(都是最大堆或最小堆)。当父结点的键值总原创 2014-04-13 20:25:18 · 906 阅读 · 0 评论 -
POJ 3278:Catch That Cow 抓住那头牛
POJ 4001:Catch That Cow 抓住那头牛原创 2014-04-05 17:41:30 · 2252 阅读 · 0 评论 -
C++ nested class 嵌套类与外围类 访问问题
/*嵌套类nested class 嵌套类的引入是为了更好的命名空间使用。嵌套类是名字在其外围类的作用域中可见,但在其他类作用域或定义外围类的作用域中不可见。嵌套类的名字将不会与另一作用域中声明的名字冲突。但嵌套类是独立的类,基本上与他们的外围类不相关,因此外围类和嵌套类的“对象”是互相独立的。嵌套类型的对象不具备外围类所定义的成员,同样,外围类的成员也不具备嵌套类所定义的成员。原创 2014-04-03 16:23:17 · 2854 阅读 · 0 评论 -
UltraEdit编码问题
UltraEdit是一个非常强大的工具,但是,工具太强大了就会变成一个双刃剑,用好了是好工具,用不好可能会存在很多的疑惑,在编码方面UltraEdit存在一写令人费解的问题,本人做了一点点研究,与大家分享。主要的问题来源于UTF-8的处理。Unicode规范中推荐的标记字节顺序的方法是BOM(Byte Order Mark)UTF-8不需要BOM来表明字节顺序,但可以用BO转载 2012-11-01 22:54:27 · 2261 阅读 · 0 评论 -
C++二维数组new几种应用方法点评
C++编程语言中有一种叫做new的二维数组,(主要用来动态申请固定数组)它的应用方式比较灵活,可以有多种方法来帮助我们实现一些特定功能。在这里我们将会总结几种C++二维数组new的应用方式,来进行逐一的点评。C++二维数组new应用方式一: //常用方式A (*ga)[n] = new A[m][n]; ... delete []ga; 缺点:n必须是已知,优点:转载 2014-04-05 16:40:27 · 987 阅读 · 0 评论 -
编程之美2014资格赛——大神与三个小伙伴
编程之美2014资格赛——大神与三个小伙伴题目2 : 大神与三位小伙伴排列组合问题。原创 2014-04-16 17:05:57 · 1068 阅读 · 0 评论 -
微软2014实习生及秋令营技术类职位在线测试--String reorder
一点一滴,不可忽略的字符串操作。原创 2014-04-14 01:03:26 · 1504 阅读 · 0 评论 -
概率算法之Sherhood算法 有序表的查找
/* * Abstract: * PPT67,EX7. 写一个Sherhood算法C,与算法A,B,D比较,给出实验结果 * 实验结果说明,算法性能C>B>D>A * Author : Ace.Ma * Date : 2012/9/18 * Version: 0.1 */#include#include#include#includeu原创 2012-11-06 22:20:37 · 1026 阅读 · 0 评论 -
LasVegas算法 n皇后问题
/* * Abstract: * EX7. 写一LasVegas算法求n皇后问题,求n=12~20时,最优的StepVegas的值。 * * Author : Ace.Ma * Date : 2012/9/18 * Version: 0.1 */#include#include#include#include#include#原创 2012-11-06 22:25:14 · 3806 阅读 · 0 评论