【PHP各种排序算法实现代码_php技巧】教程文章相关的互联网学习教程文章

php字符串哈希函数算法实现代码

function DJBHash($str) // 0.22{$hash = 0;$n = strlen($str);for ($i = 0; $i <$n; $i++){$hash += ($hash <<5 ) + ord($str[$i]);}return $hash % 701819;} function ELFHash($str) // 0.35{$hash = $x = 0;$n = strlen($str); for ($i = 0; $i <$n; $i++){$hash = ($hash <<4) + ord($str[$i]);if(($x = $hash & 0xf0000000) != 0){$hash ^= ($x>> 24);$hash &= ~$x;}}return $hash % 701819;} function JSHash($str) // 0.23{...

php冒泡排序算法实现代码

//冒泡排序函数 //本函数使用引用,避免内存消耗//整理:bbs.it-home.orgfunction &bubble(&$arr){ $count=count($arr); if($count>1){ for($i=0;$i for($j=$count-1;$j>=$i;$j--){ if($arr[$j-1]>$arr[$j]){ $temp=$arr[$j-1]; $arr[$j-1]=$arr[$j]; $arr[$j]=$temp; } } ...

php选择排序算法实现代码

//选择排序功能函数 //使用引用,减少内存消耗//整理:bbs.it-home.orgfunction &select(&$arr){ $count=count($arr); if($count>1){ for($i=0;$i $k=$i; for($j=$i+1;$j if($arr[$j] $k=$j; } } if($k!=$i){ $tmp=$arr[$k]; $arr[$k]=$arr[$i]; ...

PHP各种排序算法实现代码_PHP教程

代码如下:// 功能: PHP实现各种排序算法 // Author: windlike // Datetime: 2007-06-09 // 冒泡排序 function BubbleSort($arr){ $num = count($arr); for($i=1;$ifor($j=$num-1;$j>=$i;$j--){ if($arr[$j]$iTemp = $arr[$j-1]; $arr[$j-1] = $arr[$j]; $arr[$j] = $iTemp; } } } return $arr; } // 交换法排序 function ExchangeSort($arr){ $num = count($arr); for($i=0;$ifor($j=$i+1;$jif($arr[$j]$iTemp = $arr[$i]; $arr[$i...

PHP冒泡排序算法的实现代码_PHP教程

代码如下:$arr = array(345,4,17,6,52,16,58,69,32,8,234); for($i=1;$i<count($arr);$i++){ for($j=count($arr)-1;$j>=$i;$j--){ if($arr[$j]<$arr[$j-1]){ $temp = $arr[$j-1]; $arr[$j-1] = $arr[$j]; $arr[$j] = $temp; } } } 基本概念 冒泡排序的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即首先比较第1 个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继...

微博短链接算法php版本实现代码_PHP教程

思路: 1)将长网址md5生成32位签名串,分为4段, 每段8个字节; 2)对这四段循环处理, 取8个字节, 将他看成16进制串与0x3fffffff(30位1)与操作, 即超过30位的忽略处理; 3)这30位分成6段, 每5位的数字作为字母表的索引取得特定字符, 依次进行获得6位字符串; 4)总的md5串可以获得4个6位串; 取里面的任意一个就可作为这个长url的短url地址; 下面是PHP代码: 代码如下:function shorturl($url=, $prefix=, $suffix=) { $base = array ( a, ...

PHP插入排序实现代码_PHP教程

算法描述: ⒈ 从第一个元素开始,该元素可以认为已经被排序⒉ 取出下一个元素,在已经排序的元素序列中从后向前扫描⒊ 如果该元素(已排序)大于新元素,将该元素移到下一位置⒋ 重复步骤3,直到找到已排序的元素小于或者等于新元素的位置⒌ 将新元素插入到下一位置中⒍ 重复步骤2 代码如下:$arr =array(123,0,5,-1,4,15);function insertSort(&$arr){//先默认第一个下标为0的数是排好的数 for($i=1;$i //确定插...

roundrobin权重轮循算法php实现代码,roundrobin_PHP教程

round robin权重轮循算法php实现代码,roundrobin先上代码,采用php脚本语言 <?php/* * Copyright (C) FatHong*//* 数据初始化,weight: 权重 */ $hosts[a] = array(weight => 5, current_weight => 0, count => 0); $hosts[b] = array(weight => 3, current_weight => 0, count => 0); $hosts[c] = array(weight => 2, current_weight => 0, count => 0);$result = array();/* 模拟10次 */ for ($i = 0; $i < 10; $i++) {round_ro...

PHP各种排序算法实现代码_PHP

代码如下:// 功能: PHP实现各种排序算法 // Author: windlike // Datetime: 2007-06-09 // 冒泡排序 function BubbleSort($arr){ $num = count($arr); for($i=1;$ifor($j=$num-1;$j>=$i;$j--){ if($arr[$j]$iTemp = $arr[$j-1]; $arr[$j-1] = $arr[$j]; $arr[$j] = $iTemp; } } } return $arr; } // 交换法排序 function ExchangeSort($arr){ $num = count($arr); for($i=0;$ifor($j=$i+1;$jif($arr[$j]$iTemp = $arr[$i]; $arr[$i...

PHP冒泡排序算法的实现代码_PHP

代码如下:$arr = array(345,4,17,6,52,16,58,69,32,8,234); for($i=1;$i<count($arr);$i++){ for($j=count($arr)-1;$j>=$i;$j--){ if($arr[$j]<$arr[$j-1]){ $temp = $arr[$j-1]; $arr[$j-1] = $arr[$j]; $arr[$j] = $temp; } } } 基本概念 冒泡排序的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即首先比较第1 个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继...

微博短链接算法php版本实现代码_PHP

思路: 1)将长网址md5生成32位签名串,分为4段, 每段8个字节; 2)对这四段循环处理, 取8个字节, 将他看成16进制串与0x3fffffff(30位1)与操作, 即超过30位的忽略处理; 3)这30位分成6段, 每5位的数字作为字母表的索引取得特定字符, 依次进行获得6位字符串; 4)总的md5串可以获得4个6位串; 取里面的任意一个就可作为这个长url的短url地址; 下面是PHP代码: 代码如下:function shorturl($url=, $prefix=, $suffix=) { $base = array ( a, ...

PHP插入排序实现代码_PHP

算法描述: ⒈ 从第一个元素开始,该元素可以认为已经被排序⒉ 取出下一个元素,在已经排序的元素序列中从后向前扫描⒊ 如果该元素(已排序)大于新元素,将该元素移到下一位置⒋ 重复步骤3,直到找到已排序的元素小于或者等于新元素的位置⒌ 将新元素插入到下一位置中⒍ 重复步骤2 代码如下:$arr =array(123,0,5,-1,4,15);function insertSort(&$arr){//先默认第一个下标为0的数是排好的数 for($i=1;$i //确定插...

PHP各种排序算法实现代码_php技巧

代码如下:// 功能: PHP实现各种排序算法 // Author: windlike // Datetime: 2007-06-09 // 冒泡排序 function BubbleSort($arr){ $num = count($arr); for($i=1;$ifor($j=$num-1;$j>=$i;$j--){ if($arr[$j]$iTemp = $arr[$j-1]; $arr[$j-1] = $arr[$j]; $arr[$j] = $iTemp; } } } return $arr; } // 交换法排序 function ExchangeSort($arr){ $num = count($arr); for($i=0;$ifor($j=$i+1;$jif($arr[$j]$iTemp = $arr[$i]; $arr[$i...

PHP冒泡排序算法的实现代码_php技巧

代码如下:$arr = array(345,4,17,6,52,16,58,69,32,8,234); for($i=1;$i<count($arr);$i++){ for($j=count($arr)-1;$j>=$i;$j--){ if($arr[$j]<$arr[$j-1]){ $temp = $arr[$j-1]; $arr[$j-1] = $arr[$j]; $arr[$j] = $temp; } } } 基本概念 冒泡排序的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即首先比较第1 个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继...

微博短链接算法php版本实现代码_php实例

思路: 1)将长网址md5生成32位签名串,分为4段, 每段8个字节; 2)对这四段循环处理, 取8个字节, 将他看成16进制串与0x3fffffff(30位1)与操作, 即超过30位的忽略处理; 3)这30位分成6段, 每5位的数字作为字母表的索引取得特定字符, 依次进行获得6位字符串; 4)总的md5串可以获得4个6位串; 取里面的任意一个就可作为这个长url的短url地址; 下面是PHP代码: 代码如下:function shorturl($url=, $prefix=, $suffix=) { $base = array ( a, ...