题目:有一个函数int getNum(),每运行一次可以从一个数组V[N]里面取出一个数,N未知,当数取完的时候,函数返回NULL.现在要求写一个函数int get(),这个函数运行一次可以从V[N]里随机取出一个数,而这个数必须是符合1/N平均分布的,也就是说V[N]里面任意一个数都有1/N的机会被取出,要求空间复杂度为O(1). 解法:设置一个整形num,用来存放get()返回的数.调用getNum()从V[N]取数,按一定概率存入num中(覆盖以前的),直到getNum()返回NULL.设…
我们可以调用std下的swap函数,这是一个模板函数:既可以: ; ; std::swap(a,b); cout<<"a = "<<a<<" b = "<<b<<endl; 也可以(前提这个类型支持复制构造函数和赋值构造函数): class Test { public: Test(int i):val(i){} int getVal(){return val;} private: int val; }; T…
编写第一个hello world 创建helloworld.c // 程序头文件 #include <stdio.h> // 主入口函数 int main(int arc, char* argv[]) { printf("Hello World!\n"); return 0; } 编译自己的第一个程序 Mac os clang -g -o hellword helloword.c -g: 是输出调试信息 -o: 是输出可执行程序 hellword: 最终生成的文件名称 he…
实现的时候用到系统原来的dup函数 // mydup2.c // 2015/08/17 Lucifer Zhang version1.0 // write my own dup2 function // use dup() function when inplementation #include <unistd.h> // include dup() #include <stdio.h> #include <stdlib.h> #define OPEN_MAX 256…
批量生成账户信息,产生的账户由@sina.com结尾,长度由用户输入,产生多少条也由用户输入,用户名不能重复,用户名必须由大写字母.小写字母和数字组成. def Users(num,len): # num产生多少条信息,len账号的长度 ''' 用交集来判断是否包含大小写字母 :param num: 生成几条数据 :param len: 账号的长度 :return: ''' results = [] # 存放结果的数组 uppers = set(string.ascii_uppercase) #…
实现的时候用到系统原来的dup函数 // mydup2.c // 2015/08/17 Lucifer Zhang version1.0 // write my own dup2 function // use dup() function when inplementation #include <unistd.h> // include dup() #include <stdio.h> #include <stdlib.h> #define OPEN_MAX 256…
PHP print_r的函数很好用,可以用来打印数组.对象等的结构与数据,可惜JavaScript并没有原生提供类似的函数.不过我们可以试着自己来实现这个函数,下面提供一些方法与思路. 方法一 function print_r(theObj) { var retStr = ''; if (typeof theObj == 'object') { retStr += '<div style="font-family:Tahoma; font-size:7pt;">'; for…
这两天在学习函数,练习写一个判断是否为小数的函数,看起来蛮简单的,飞速写完很是得意,然后测了一下,发现差得好多呀,这个并不像想象那样简单,我得到的教训是,想要把一个需求哪怕再小的需求考虑周全,都不是件简单的事. 我的路还很长,但千里之行始于足下,努力学习,不断总结,持续提高,做自己喜欢做的事,享受快乐 …… # 写一个判断是小数的函数def is_float(s): s = str(s) if s.count('.') == 1: s_left = s.split('.')[0] s_right…
一.前言 Android 的 App 实际上并不是运行在 Java 虚拟机中,而是运行在 Dalvik 虚拟机中.Dalvik 虚拟机对 Java 虚拟机做了一些额外的优化,让它更适用于移动设备.而 Dalvik 也有自己独特的汇编语言,Dalvik 就是通过这些汇编的指令集,来运行我们编译好的 Apk 程序. 一般这些内容,我们正常开发 App 是接触不到的,但是如果你有反编译的需求,那你就需要花点时间研究一下它.本文不会介绍 Dalvik 的汇编指令集,它本身已经有完备的文档,没什么好说的.…
5.4  函数设计的基本规则 函数是C++程序的基本功能单元,就像一块块砖头可以有规则地垒成一座房子,而一个个函数也可以有规则地组织成一个程序.我们在大量使用他人设计好的函数的同时,也在设计大量的函数供自己或他人使用.一个设计良好的函数,概念清晰职责明确,使用起来将非常容易,可以很大程度地提高我们的开发效率.反过来,一个设计糟糕的函数,概念不清职责不明,不仅难以使用,有时甚至会导致严重的错误.函数设计的好坏,成为评价一个程序员水平高低的重要标准.关于函数的设计,业界已经积累了相当多的经验规则.这…