冒泡排序&快速排序
2015-09-26 14:03:36 算法 浏览1267
冒泡算法:从第一个开始往后一次比较,如果后面的比前面的小,则交换,遍历一偏之后则把最大的排在的最后的位置,下一轮时则最后一个不在参与派寻,然后依次排出第二大的。。。。。function bubbleSort($numbers)  {     $count = count($numbers);     for ($i=0 ...
汉诺塔算法问题
2015-09-26 11:54:26 算法 浏览1192
大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。f(1)=1;f(2)=3;f(3)=7; f(n)=2*f(n-1)+1; ...
PHP 求最小公倍数和最大公约数问题
2015-08-31 18:12:09 算法 浏览1334
最大公约数:不用分解质因数的,直接用辗转相除法就可以求最大公约数了如求12 27的公约数27=2*12+312=4*3+0;所以最大公约数就是3了用文字叙述就是用大的作被除数,小的作除数,相除,得到商和余数再将除数作为被除数,余数作为除数,然后又得到商和余数;一直做下去.直到所得的余数为0最后的那个除数就是最大公约数,例子中的最后的那个除数就是3,所以3就是最大公约数最小公倍数:两个数乘/最大公约数 ...
求一个字符串连续出现某个个字符的最长长度和起始位置PHP
2015-08-31 18:08:53 算法 浏览1231
从字符串数组的起始位置开始遍历,如果遇与指定字符相同的字符,则把开始位置和结束位置记下来,并且长度计算值自增;如果遇与制定字符不同的,则其实将起始位置保存,并且将起始位置重置,如果结束位置为最后一个,则起始位置赋值,长度赋值。<?php     function getstr($str,$str2)    {        $temp = 0;//最长长度中间值 ...
PHP常见的字符串排序方法
2015-08-31 18:02:17 算法 浏览1080
sort(array,sorttype):按升序对给定的数组的值排序。新建以数字为索引的数组。sorttype :可选。规定如何排列数组的值。可能的值如下:Sort_Regular.默认,不改变类型进行排序。sort_NUMERIC,把值作为数字来处理;sort_string,把值作为字符串来处理;sort_locale_string 把值作为字符串来处理,基于本地设置。ksort() - 根据键,以升序对关联数组进行排序krsort() - 根据键,以降序对关 ...
PHP实现字符串翻转
2015-08-31 16:48:04 算法 浏览1382
如何实现字符串翻转?其实PHP本身就有字符串翻转的函数:strrev(),不过这种方法都不能解决中文字符串翻转的问题,所以我们用一个$res 来从前往后接收字符,并且将前一个接受的字符防止next字符的后面。从而实现字符串翻转。<?phpfunction reverse($var){    $res="";    for($i=0,$j=strlen($var);$i<$j;$i++)   ...