02 2014 档案

摘要:1)判断数据在各位的大小,排列数据;2)根据1的结果,判断数据在十分位的大小,排列数据。如果数据在这个位置的余数相同,那么数据之间的顺序根据上一轮的排列顺序确定;3)依次类推,继续判断数据在百分位、千分位......上面的数据重新排序,直到所有的数据在某一分位上数据都为0。#include #include #include #include int pre_process_data(int array[], int length, int weight){ int index; int value = 1; assert(NULL != array && 0 != lengt 阅读全文
posted @ 2014-02-28 11:28 程序员大叔的博客 阅读(185) 评论(0) 推荐(0)
摘要:#include #include void swap(int *a, int *b){ int c; c = *a; *a = *b; *b = c;}void set_sorted_value(int array[], int length){ int index = length; if(length 1) { if(array[index >> 1] >= array[index]) break; swap(&(array[index >> 1]), &array[index]); index >>= 1; }}void con 阅读全文
posted @ 2014-02-28 10:11 程序员大叔的博客 阅读(186) 评论(0) 推荐(0)
摘要:1)把0~length-1的数组分成左数组和右数组 2)对左数组和右数组进行迭代排序 3)将左数组和右数组进行合并,那么生成的整个数组就是有序的数据数组(关键)#include #include #include #include void merge(int *array, int start, int middle, int end){ int left = start; int right = middle + 1; int length = end - start + 1; int *p = malloc(sizeof(int) * length); assert(NULL != p. 阅读全文
posted @ 2014-02-28 08:58 程序员大叔的博客 阅读(210) 评论(0) 推荐(0)
摘要:把数组的第一个数据作为比较的原点,比该数据小的数据排列在左边,比该数据大的数据排列在右边#include #include #include #include void swap(int *a, int *b){ int c; c = *a; *a = *b; *b = c;}void _quick_sort(int array[], int start, int end){ int middle; if(start > end) return; middle = get_middle1(array, start, end); //middle = get_middle2(array, 阅读全文
posted @ 2014-02-28 08:53 程序员大叔的博客 阅读(192) 评论(0) 推荐(0)
摘要:auto 局部变量(自动储存)break无条件退出程序最内层循环case switch语句中选择项char单字节整型数据const定义不可更改的常量值continue中断本次循环,并转向下一次循环default switch语句中的默认选择项do 用于构成do.....while循环语句double定义双精度浮点型数据else构成if.....else选择程序结构enum枚举extern在其它程序模块中说明了全局变量float定义单精度浮点型数据for构成for循环语句goto构成goto转移结构if构成if....else选择结构int基本整型数据long长整型数据registerCP... 阅读全文
posted @ 2014-02-27 14:21 程序员大叔的博客 阅读(202) 评论(0) 推荐(0)
摘要:【Python 之执行 py 文件】1、在 cmd/shell 中输入命令 python a.py2、在解释器中,通过函数 execfile("a.py") exec语句用来执行储存在字符串或文件中的Python语句3、在解释器中,直接输入程序语句立即执行【Python 之退出解释器】1、>>> import sys >>> sys.exit()2、通过引发异常:raise SystemExit3、输入EOF字符,windows下是Ctrl+Z,unix下是Ctrl+D----------------------------------- 阅读全文
posted @ 2014-02-26 20:39 程序员大叔的博客 阅读(575) 评论(0) 推荐(0)
摘要:http://www.csdn.net/article/2011-02-17/292058Python这么多框架,能挨个玩个遍的人不多,坦白的说我也只用过其中的三个开发过项目,另外一些稍微接触过,所以这里只能浅谈一下,欢迎懂行的朋友们补充。DjangoPython框架虽然说是百花齐放,但仍然有那么一家是最大的,它就是Django。要说Django是Python框架里最好的,有人同意也有人 坚决反对,但说Django的文档最完善、市场占有率最高、招聘职位最多估计大家都没什么意见。Django为人所称道的地方主要有:完美的文档,Django的成功,我觉得很大一部分原因要归功于Django近乎完美的 阅读全文
posted @ 2014-02-26 19:38 程序员大叔的博客 阅读(24874) 评论(0) 推荐(1)
摘要:http://www.cnblogs.com/tips4python/archive/2011/05/31/2064290.htmlprint 由一个语句(statement)变为一个函数Python3中的 str 类型现在是原来的 unicode 类型,而原 str 类型现在是 bytes由第 2 条,uincode() 函数被移除,功能由 str()取代,而原 str() 由 bytes() 取代长整型(long)和整型(int)统一为整形(int)不再支持 比较运算符号,仅支持 !=字典(dict)对象的 has_key() 方法被移除,仅支持 in 操作许多字典(dict)类方法返回. 阅读全文
posted @ 2014-02-25 21:52 程序员大叔的博客 阅读(404) 评论(0) 推荐(0)
摘要:http://www.kongrong.com/xiaoyuan/beijing/1116285.html先说一下,不太熟悉板块,在这里发帖应该可以吧?如果不太符合,请版主手下留情。——————————主要是看到有位同学关于美团算法和阿里测试选择的帖子,感觉大家对测试的了解比较有局限,所以分享一些资料。在原帖中回复的话:关于阿里的测试开发的实际情况,应该和大家的理解有很大的不同。 测试开发在阿里是一个整体的技术团队,包含了阿里所有重要的技术领域,包括算法方面的,换句话说,如果你对算法感兴趣,也可以在测试团队去对接相关的团队,而且测试的角度去看,绝对是很宝贵的经验。 阿里面对的业务和技术非常.. 阅读全文
posted @ 2014-02-25 17:01 程序员大叔的博客 阅读(2267) 评论(0) 推荐(0)
摘要:1. 等价类划分常见的软件测试面试题划分等价类: 等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类.2. 边界值分析法边界值分析方法是对等价类划分方法的补充。测试工作经验告诉我,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部.因此针对各种边界情况设计测试用例,可以查出更多的错误 阅读全文
posted @ 2014-02-24 21:11 程序员大叔的博客 阅读(3495) 评论(0) 推荐(0)
摘要:说明: 格式字符:c 输出一个字符。 s 输出一个字符串。 e 以指数形式输出实型数。 f以小数形式输出实型数。 g 自动决定输出格式为e和f中较短的一种,不打印无效的零。 % 输出%。注意:对于单精度数,使用 %f 格式符输出时,仅前7位是有效数字,小数6位。 对于双精度数,使用 %lf 格式符输出时,前16位是有效数字,小数6位。长度修正符 l:对整型指定长整型long 例:%ld , %lx , %lo , %lu 对实型指定双精度double例:%lfh:只用于整型的格式字符修正为short例:%hd , ... 阅读全文
posted @ 2014-02-23 19:33 程序员大叔的博客 阅读(736) 评论(0) 推荐(0)
摘要:char *p=a和char*p=&a前者p是一个指针变量后者p是一个char型变量char *p = "123"; 为全局数组,放在常量区,而非普通数据段(静态存储区)未为p分配空间,故*p='2';出错char p[] = "123";局部数组,*p='2';无错 阅读全文
posted @ 2014-02-23 14:20 程序员大叔的博客 阅读(446) 评论(0) 推荐(0)
摘要:http://www.slyar.com/blog/c-operator-priority.html优先级运算符名称或含义使用形式结合方向说明1[]数组下标数组名[常量表达式]左到右()圆括号(表达式)/函数名(形参表).成员选择(对象)对象.成员名->成员选择(指针)对象指针->成员名2-负号运算符-表达式右到左单目运算符(类型)强制类型转换(数据类型)表达式++自增运算符++变量名/变量名++单目运算符--自减运算符--变量名/变量名--单目运算符*取值运算符*指针变量单目运算符&取地址运算符&变量名单目运算符!逻辑非运算符!表达式单目运算符~按位取反运算符~表 阅读全文
posted @ 2014-02-23 09:01 程序员大叔的博客 阅读(421) 评论(0) 推荐(0)
摘要:http://www.cnitblog.com/Lily/archive/2006/09/18/16982.html软件工程的测试阶段是软件开发过程中工作量最大的阶段之一,随着软件测试工作日益得到重视,测试工具的应用已经成为普遍趋势。测试工具一般可分为白盒测试工具、黑盒测试工具、性能测试工具,别外还有用于测试管理(测试流程管理、缺陷跟踪管理、测试用例管理)的工具。其他测试工具(专用测试测试,如针对数据库测试的工具,对应用性能进行优化的工具等)。表格1测试工具工具类型描述测试过程生成器根据需求/设计/对象模型生成测试过程代码(测试)覆盖率分析器和代码测量器确定未经测试的代码和支持动态测试内存泄漏 阅读全文
posted @ 2014-02-23 08:39 程序员大叔的博客 阅读(1175) 评论(0) 推荐(0)
摘要:在多重循环中,应当将最长的循环放在最内层,最短的循环放在最外层应当将最长的循环放在最内层,最短的循环放在最外层,以减少CPU 跨切循环层的次数。 阅读全文
posted @ 2014-02-22 21:48 程序员大叔的博客 阅读(1469) 评论(0) 推荐(0)
摘要:http://www.eoeandroid.com/thread-53701-1-1.htmlpackage mobson.weiboku.view;import java.util.ArrayList;import java.util.Date;import java.util.List;import org.apache.http.HttpResponse;import org.apache.http.HttpStatus;import org.apache.http.NameValuePair;import org.apache.http.client.HttpClient;import 阅读全文
posted @ 2014-02-22 19:13 程序员大叔的博客 阅读(607) 评论(0) 推荐(0)
摘要:LRU(least recently used)最少使用。假设 序列为 4 3 4 2 3 1 4 2物理块有3个 则首轮 4调入内存 4次轮 3调入内存 3 4之后 4调入内存 4 3之后 2调入内存 2 4 3之后 3调入内存 3 2 4之后 1调入内存 1 3 2(因为最少使用的是4,所以丢弃4)之后 4调入内存 4 1 3(原理同上)最后 2调入内存 2 4 1又如:考虑下述页面走向:1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6发生缺页中断的次数为15。在LRU算法中,最少使用的页面被先换出。当页6要调入时,内存的状态为5、2、1,考查页6之前调入的页 阅读全文
posted @ 2014-02-22 19:06 程序员大叔的博客 阅读(308) 评论(0) 推荐(0)
摘要:http://www.cnblogs.com/longlybits/articles/2385343.html 结构体字节对齐 在用sizeof运算符求算某结构体所占空间时,并不是简单地将结构体中所有元素各自占的空间相加,这里涉及到内存字节对齐的问题。从理论上讲,对于任何 变量的访问都可以从任何地址开始访问,但是事实上不是如此,实际上访问特定类型的变量只能在特定的地址访问,这就需要各个变量在空间上按一定的规则排列, 而不是简单地顺序排列,这就是内存对齐。 内存对齐的原因: 1)某些平台只能在特定的地址处访问特定类型的数据; 2)提高存取数据的速度。... 阅读全文
posted @ 2014-02-22 09:47 程序员大叔的博客 阅读(367) 评论(0) 推荐(0)
摘要:http://blog.csdn.net/zhongzhiwei/article/details/8678885一)64位系统和32位有什么区别?1、64bit CPU拥有更大的寻址能力,最大支持到16GB内存,而32bit只支持4G内存2、64位CPU一次可提取64位数据,比32位提高了一倍,理论上性能会提升1倍。但这是建立在64bit操作系统,64bit软件的基础上的。什么是64位处理器?之所以叫做“64位处理器”,是因为电脑内部都是实行2进制运算,处理器(CPU)一次处理数据的能力也是2的倍数。8位处理器、16位处理器、32位处理器和64位处理器,其计数都是2的倍数。一次处理的数据越大, 阅读全文
posted @ 2014-02-22 09:19 程序员大叔的博客 阅读(4323) 评论(0) 推荐(0)
摘要:http://blog.chinaunix.net/uid-23883288-id-3028968.html1.进程的三种基本状态 进程在运行中不断地改变其运行状态。通常,一个运行进程必须具有以下三种基本状态。就绪(Ready)状态 当进程已分配到除CPU以外的所有必要的资源,只要获得处理机便可立即执行,这时的进程状态称为就绪状态。执行(Running)状态当进程已获得处理机,其程序正在处理机上执行,此时的进程状态称为执行状态。阻塞(Blocked)状态正在执行的进程,由于等待某个事件发生而无法执行时,便放弃处理机而处于阻塞状态。引起进程阻塞的事件可有多种,例如,等待I/O完成、申请缓冲区不能 阅读全文
posted @ 2014-02-21 15:48 程序员大叔的博客 阅读(19666) 评论(0) 推荐(0)
摘要:前序遍历: 1.访问根节点 2.前序遍历左子树 3.前序遍历右子树中序遍历: 1.中序遍历左子树 2.访问根节点 3.中序遍历右子树后序遍历: 1.后序遍历左子树 2.后序遍历右子树 3.访问根节点 阅读全文
posted @ 2014-02-21 15:04 程序员大叔的博客 阅读(338) 评论(0) 推荐(0)
摘要:http://blog.csdn.net/feixiaoxing/article/category/878822各种排序算法的总结和比较1 快速排序(QuickSort)快速排序是一个就地排序,分而治之,大规模递归的算法。从本质上来说,它是归并排序的就地版本。快速排序可以由下面四步组成。(1)如果不多于1个数据,直接返回。(2)一般选择序列最左边的值作为支点数据。(3)将序列分成2部分,一部分都大于支点数据,另外一部分都小于支点数据。(4)对两边利用递归排序数列。快速排序比大部分排序算法都要快。尽管我们可以在某些特殊的情况下写出比快速排序快的算法,但是就通常情况而言,没有比它更快的了。快速排序 阅读全文
posted @ 2014-02-20 20:16 程序员大叔的博客 阅读(267) 评论(0) 推荐(0)