模板方法模式定义:
定义一个算法的骨架,而将步骤延迟到子类中。这种模式可以使得在不改变算法骨架(模板)的情况下修改每个步骤的具体实现
从功能上来看,这个模式跟生成器模式有些相像,只不过生成器模式定义了创建对象的过程,而模板方法模式定义了算法过程
.接口和抽象类
(1)接口是特殊的抽象类,接口中所有方法必须是抽象的,不能有具体实现;而抽象类中可以有实现的方法
(2)抽象类不一定包含抽象方法,有抽象方法的类一定是抽象类
(3)需要约束子类行为时用接口,既要约束子类行为,又要为其提供公共功能时用抽象类
模板方法模...
分类:
其他好文 时间:
2014-05-09 15:21:55
阅读次数:
324
ip范围限制函数
大家如果还有好的建议算法,就联系我!!:)
'******************************
'Function CheckIp(cInput_Ip,cBound_Ip)
'Created by qqdao, qqdao@263.net 2001/11/28
'说明:首先需要根据;号循环,然后判断是否含有"-",如果有则进行拆分处理,最后判断是否在范围内
...
分类:
其他好文 时间:
2014-05-09 15:18:32
阅读次数:
269
1.什么泛型
泛型出现的真正意义在于,类型能在运行时指定类型参数。在没有泛型的时候很多算法相同但是传入类型不同的方法需要反复的出现在不同的类里面,增加了工作量,并且在维护过程中的代价也是非常的巨大,在这样的情况下如果方法能够在运行时指定类型那么就可以降低很多的工作量,所以“懒惰”的软件工程师设计出了可以获取类型参数的方法“泛型”。
利用泛型,可以在声明变量时创建用来处理特定类型的特殊数...
分类:
Web程序 时间:
2014-05-09 15:09:40
阅读次数:
379
例:已知两个单链表head1和head2各自有序升序排列,请把他们合并成一个连表并依然有序,并保留原来所有节点
假设以下两个链表:
链表1:1->3->5
链表2:2->4->6
(1)比较1和链表2的第一个节点数据,由于15)和链表2在调用本过程,比较得到结果链表的第二个节点,即2与3比较得到2,此时合并后的链表节点为1->2,这样
递归知道两个链表的节点都被加到结果链表中。...
分类:
其他好文 时间:
2014-05-09 15:04:40
阅读次数:
374
昨晚一朋友问了我道数学题:已知弧长l=156,弦长d=140,求半径R和夹角a。
我试了下,方程比较好列,但是求解的话就比较费劲了,心想要是用Matlab的话也就瞬间的事儿,可电脑没安装Matlab,然后想到Python的一个数学库scipy,研究下,是可以解决的。
方程如下:
· cos(a) = 1 - d^2 / (2*R^2)
· L = a * R...
分类:
编程语言 时间:
2014-05-09 14:42:43
阅读次数:
393
本人于去年十月份开始接收游戏元数据管理系统的开发,下面就把使用的技术总结一下:
由于元数据数据库比较多,链接频繁会影响效率,所以我们使用了facebook开源的Thrift,服务端使用C++,客户端链接使用python和php,由于我主要做php,下面是Thrift的php客户端入口文件:
<?php
#Thrift Lib Path Root
$GLOBALS['THRIFT_ROOT']=...
分类:
其他好文 时间:
2014-05-09 14:00:16
阅读次数:
332
在上一篇中,使用scrapy修改源IP发送请求的最后我们提到由于hosts文件不支持正则,会导致我们的随机域名DNS查询失败。是用DNS服务器可以解决这个问题,下面是我用gevent写的小工具,很简单。我们只拦截匹配的A记录,然后发送DNS Response,如果不匹配,那么我们服务器就是一个DNS代理,转发请求。# -*- coding=utf-8 -*-
import struct
from...
分类:
编程语言 时间:
2014-05-09 13:49:34
阅读次数:
560
一、冒泡排序冒泡排序算是最基础的一种算法了,复杂度为O(N^2),其基本思想是:从最低端数据开始,两两相邻比较,如果反序则交换。代码如下:/*最基本的冒泡排序*/void
BubbleSort1 (int n, int *array) /*little > big*/{ int i, j...
分类:
其他好文 时间:
2014-05-09 13:02:57
阅读次数:
319
快速排序基本思想:选取一个枢轴元素(图简单可选第一个),通过对序列一次遍历(中间涉及到数的交换),将该枢轴放置到序列合适位置,保证其左边数都比它小,右边数都比它大,然后利用递归思想对其左右两个子序列进行同样排序。快熟排序的基本实现过程:将枢轴元素key备份,序列头尾各设置一个游标——i和j,尾部.....
分类:
其他好文 时间:
2014-05-09 13:01:56
阅读次数:
360
直接插入排序对待排数量较少且基本有序的序列,其执行效率是非常高的,希尔排序正是利用了这点,将一个无序的序列拆分成几个子组,然后对几个子组分别进行插入排序。注意,这儿的分组并不是简单的{a1,a2,a3,b1,b2,b3,c1,c2,c3}(相同字母为一组),而是进行{a1,b1,c1,a2,b2.....
分类:
其他好文 时间:
2014-05-09 12:59:34
阅读次数:
280