jquery代码:
$(function(){
$("#a").click(function( e ){
e.preventDefault();
if ($("#test").is(":hidden") ){
$("#test").show("normal");
}else{
$("#test").hide("slow");
}
});
}...
分类:
Web程序 时间:
2014-12-16 13:38:36
阅读次数:
192
经典排序算法 - 快速排序Quick sort
原理,通过一趟扫描将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列
举个例子
如无序数组[6 2 4 1 5 9]
a),先把第一项[6]取出来,
用[6]依次与其余项进行比较,
如果比[6]小就放[6...
分类:
编程语言 时间:
2014-12-16 13:35:36
阅读次数:
171
代码中引入了Image.class.php,但是没有找到上传附件的地方,故直接拉进来了,实践中,最好放到单独文件中,然后引入就行了!...
分类:
其他好文 时间:
2014-12-16 13:35:32
阅读次数:
247
经典排序算法 - 桶排序Bucket sort
补充说明三点
1,桶排序是稳定的
2,桶排序是常见排序里最快的一种,比快排还要快…大多数情况下
3,桶排序非常快,但是同时也非常耗空间,基本上是最耗空间的一种排序算法
我自己的理解哈,可能与网上说的有一些出入,大体都是同样的原理
无序数组有个要求,就是成员隶属于固定(有限的)的区间,如范围为[0-9](考试分数为1-100等)
...
分类:
编程语言 时间:
2014-12-16 13:36:50
阅读次数:
260
经典排序算法 – 插入排序Insertion sort
插入排序就是每一步都将一个待排数据按其大小插入到已经排序的数据中的适当位置,直到全部插入完毕。
插入排序方法分直接插入排序和折半插入排序两种,这里只介绍直接插入排序,折半插入排序留到“查找”内容中进行。
图1演示了对4个元素进行直接插入排序的过程,共需要(a),(b),(c)三次插入。
以下代码仅供参考,欢迎指正
...
分类:
编程语言 时间:
2014-12-16 13:34:39
阅读次数:
197
经典排序算法 - 基数排序Radix sort
原理类似桶排序,这里总是需要10个桶,多次使用
首先以个位数的值进行装桶,即个位数为1则放入1号桶,为9则放入9号桶,暂时忽视十位数
例如
待排序数组[62,14,59,88,16]简单点五个数字
分配10个桶,桶编号为0-9,以个位数数字为桶编号依次入桶,变成下边这样
| 0 | 0 | 62 | 0 | 14 | 0 ...
分类:
编程语言 时间:
2014-12-16 13:35:28
阅读次数:
187
经典排序算法 - 鸽巢排序Pigeonhole sort
原理类似桶排序,同样需要一个很大的鸽巢[桶排序里管这个叫桶,名字无所谓了]
鸽巢其实就是数组啦,数组的索引位置就表示值,该索引位置的值表示出现次数,如果全部为1次或0次那就是桶排序
例如
var pigeonHole = new int[100];
pigeonHole[0]的值表示0的出现次数...
pigeonHole[1]...
分类:
编程语言 时间:
2014-12-16 13:36:29
阅读次数:
188
经典排序算法 - 归并排序Merge sort
原理,把原始数组分成若干子数组,对每一个子数组进行排序,
继续把子数组与子数组合并,合并后仍然有序,直到全部合并完,形成有序的数组
举例
无序数组[6 2 4 1 5 9]
先看一下每个步骤下的状态,完了再看合并细节
第一步 [6 2 4 1 5 9]原始状态
第二步 [2 6] [1 4] [5 9]两两合并排序,排序细节后边介绍
...
分类:
编程语言 时间:
2014-12-16 13:34:18
阅读次数:
145
经典排序算法 - 冒泡排序Bubble sort
原理是临近的数字两两进行比较,按照从小到大或者从大到小的顺序进行交换,
这样一趟过去后,最大或最小的数字被交换到了最后一位,
然后再从头开始进行两两比较交换,直到倒数第二位时结束,其余类似看例子
例子为从小到大排序,
原始待排序数组| 6 | 2 | 4 | 1 | 5 | 9 |
第一趟排序(外循环)
第一次两两比较6 > ...
分类:
编程语言 时间:
2014-12-16 13:34:29
阅读次数:
189
设计模式中,工厂三姐妹还是比较重要的,现在我们来谈谈他们的故事。
简单工厂模式:
客户端的实现需要依靠的是父类和工厂这个类,所以就把子类封装在父类里面,客户端直接调用父类和工厂类就可以了;但是工厂类还需要依赖于父类。我们假设父类为bird,子类分别为little bird和 big bird,而父类代码和子类的代...
分类:
其他好文 时间:
2014-12-16 13:35:19
阅读次数:
197
经典排序算法 - 选择排序Selection sort
顾名思意,就是直接从待排序数组里选择一个最小(或最大)的数字,每次都拿一个最小数字出来,
顺序放入新数组,直到全部拿完
再简单点,对着一群数组说,你们谁最小出列,站到最后边
然后继续对剩余的无序数组说,你们谁最小出列,站到最后边
再继续刚才的操作,一直到最后一个,继续站到最后边,现在数组有序了,从小到大
举例
先说看每步的状态变...
分类:
编程语言 时间:
2014-12-16 13:35:47
阅读次数:
200
经典排序算法 - 鸡尾酒排序Cocktail sort
鸡尾酒排序基于冒泡排序,双向循环
还是看例子吧,给定待排数组[2 3 4 5 1]
第一趟过去时的每一步
第一步迭代,2
[2 3 4 5 1]
第二步迭代,3
[2 3 4 5 1]
第三步迭代,4
[2 3 4 5 1]
第四步迭代,5 > 1交换
[2 3 4 1 5]
第一趟回来时...
分类:
编程语言 时间:
2014-12-16 13:34:46
阅读次数:
205
经典排序算法 - 希尔排序Shell sort
希尔排序Shell Sort是基于插入排序的一种改进,同样分成两部分,
第一部分,希尔排序介绍
第二部分,如何选取关键字,选取关键字是希尔排序的关键
第一块希尔排序介绍
准备待排数组[6 2 4 1 5 9]
首先需要选取关键字,例如关键是3和1(第一步分成三组,第二步分成一组),那么待排数组分成了以下三个虚拟组:
[6 1]一组
[...
分类:
编程语言 时间:
2014-12-16 13:34:14
阅读次数:
357
经典排序算法 - 堆排序Heap sort
堆排序有点小复杂,分成三块
第一块,什么是堆,什么是最大堆
第二块,怎么将堆调整为最大堆,这部分是重点
第三块,堆排序介绍
第一块,什么是堆,什么是最大堆
什么是堆
这里的堆(二叉堆),指得不是堆栈的那个堆,而是一种数据结构。
堆可以视为一棵完全的二叉树,完全二叉树的一个“优秀”的性质是,除了最底层之外,每一层都是满的,这使得堆可...
分类:
编程语言 时间:
2014-12-16 13:35:14
阅读次数:
219
经典排序算法 - 地精排序Gnome Sort
号称最简单的排序算法,只有一层循环,默认情况下前进冒泡,一旦遇到冒泡的情况发生就往回冒,直到把这个数字放好为止
直接看它排序的过程,待排数组[6 2 4 1 5 9]
先设计一个标识i=0然后从头开始判断,什么时候(i ,
所以,如何控制i的值是这个算法的关键
例如待排数组:
[6 2 4 1 5 9]
[0...
分类:
编程语言 时间:
2014-12-16 13:35:43
阅读次数:
204
经典排序算法 - 奇偶排序Odd-even sort
又一个比较性质的排序,基本思路是奇数列排一趟序,偶数列排一趟序,再奇数排,再偶数排,直到全部有序
举例吧,
待排数组[6 2 4 1 5 9]
第一次比较奇数列,奇数列与它的邻居偶数列比较,如6和2比,4和1比,5和9比
[6 2 4 1 5 9]
交换后变成
[2 6 1 4 5 9]
第二次比较偶数列,即6和1比,5和...
分类:
编程语言 时间:
2014-12-16 13:33:32
阅读次数:
274
经典排序算法 - 梳排序Comb sort
梳排序还是基于冒泡排序,与冒泡不同的是,梳排序比较的是固定距离处的数的比较和交换,类似希尔那样
这个固定距离是待排数组长度除以1.3得到近似值,下次则以上次得到的近似值再除以1.3,直到距离小至3时,以1递减
不太好描述,还是看例子吧
假设待数组[8 4 3 7 6 5 2 1]
待排数组长度为8,而8÷1.3=6,则比较8和2,4和1,并做交...
分类:
编程语言 时间:
2014-12-16 13:33:42
阅读次数:
236