【php实现抽奖概率算法代码】教程文章相关的互联网学习教程文章

使用PHP实现二分查找算法代码分享_php技巧

第一种方法: 【二分查找要求】:1.必须采用顺序存储结构 2.必须按关键字大小有序排列。    【优缺点】折半查找法的优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。    【算法思想】首先,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记...

PHP冒泡排序算法代码详细解读_php技巧

代码如下:$arr = array(345,4,17,6,52,16,58,69,32,8,234); $n = count($arr); for($i=1;$i//其中的为什么$n-1是因为数组是从0开始计算的 //接下来是第一次内循环 for($j=$n-1;$j>=$i;$j--) { //如果$arr[10]//temp = $arr[9]; if($arr[$j]//$temp 暂时先把小的值放起来 $temp = $arr[$j-1]; //这个时候开始要交换位置了 $arr[$j-1] = $arr[$j]; //$arr[9] = $arr[10]的值 $arr[$j] = $temp; //$arry[10]的值等于$arr[9]的值 //这个...

php数字转汉字代码(算法)_php技巧

代码如下://将数字转换为汉字,比如1210转换为一千二百一十 $num = "842105580";//九位数 function del0($num) //去掉数字段前面的0 { return "".intval($num); } function n2c($x) //单个数字变汉字 { $arr_n = array("零","一","二","三","四","五","六","七","八","九","十"); return $arr_n[$x]; } function num_r($abcd) //读取数值(4位) { $arr= array(); $str = ""; //读取后的汉字数值 $flag = 0; //该位是否为零 $flag_...

最新用php获取谷歌PR值算法,附上php查询PR值代码示例_php技巧

代码如下:/* *功能:对URL进行编码 *参数说明:$web_url 网站URL,不包含"http://",例如jb51.net */ function HashURL($url){ $SEED = "Mining PageRank is AGAINST GOOGLES TERMS OF SERVICE. Yes, Im talking to you, scammer."; $Result = 0x01020345; for ($i=0; $i<strlen($url); $i++) { $Result ^= ord($SEED{$i%87}) ^ ord($url{$i}); $Result = (($Result >> 23) & 0x1FF) | $Result << 9; } return sprintf("8%x", $Result...

php实现rc4加密算法代码_php实例

代码 代码如下:/* * rc4加密算法 * $pwd 密钥 * $data 要加密的数据 */ function rc4 ($pwd, $data)//$pwd密钥 $data需加密字符串 { $key[] =""; $box[] =""; $pwd_length = strlen($pwd); $data_length = strlen($data); for ($i = 0; $i < 256; $i++) { $key[$i] = ord($pwd[$i % $pwd_length]); $box[$i] = $i; } for ($j = $i = 0; $i < 256; $i++) { $j = ($j + $box[$i] + $key[$i]) % 256; $tmp = $box[$i]; $box[$i] = $...

PHP的简易冒泡法代码分享_php技巧

很基础的东西,感觉代码还不够简洁,希望高手指导修改 代码如下:function BubbleSort($str){ for($i=0;$ifor ($k=count($str)-2;$k>=$i;$k--){//将这个值向前冒泡; if($str[$k+1]$tmp=$str[$k+1]; $str[$k+1]=$str[$k]; $str[$k]=$tmp; } } } return $str; } //以下是测试 $str=array(5,8,2,6,10,0,3,12,11); print_r(BubbleSort($str)); ?> php 冒泡排序2 基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即...

php实现快速排序法函数代码_php技巧

代码1: 代码如下:function quicksort($str){ if(count($str)$key=$str[0];//取一个值,稍后用来比较; $left_arr=array(); $right_arr=array(); for($i=1;$iif($str[$i]$left_arr[]=$str[$i]; else $right_arr[]=$str[$i]; } $left_arr=quicksort($left_arr);//进行递归; $right_arr=quicksort($right_arr); return array_merge($left_arr,array($key),$right_arr);//将左中右的值合并成一个数组; }//以下是测试 $str=array(5,...

微博短链接算法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技巧

算法原理如果用P表示n个元素的全排列,而Pi表示n个元素中不包含元素i的全排列,(i)Pi表示在排列Pi前面加上前缀i的排列,那么n个元素的全排列可递归定义为: ① 如果n=1,则排列P只有一个元素i; ② 如果n>1,则全排列P由排列(i)Pi构成;根据定义,可以看出如果已经生成(k-1)个元素的排列Pi,那么k个元素的排列可以在每个Pi前面加上元素i而生成。代码实现 代码如下:function rank($base, $temp=null){ $len = strlen($ba...

PHP插入排序实现代码_php实例

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

php四种基础算法代码实例_php实例

php四种基础算法:冒泡,选择,插入和快速排序法许多人都说 算法是程序的核心,一个程序的好于差,关键是这个程序算法的优劣。作为一个初级phper,虽然很少接触到算法方面的东西 。但是对于冒泡排序,插入排序,选择排序,快速排序四种基本算法,我想还是要掌握的。下面是我按自己的理解,将四个方法分析一遍。需求:分别用 冒泡排序法,快速排序法,选择排序法,插入排序法将下面数组中 的值按照从小到的顺序进行排序。 $arr(1,43,...

一组PHP可逆加密解密算法实例代码_php实例

对于大部分密码加密,我们可以采用md5、sha1等方法。可以有效防止数据泄露,但是这些方法仅适用于无需还原的数据加密。 对于需要还原的信息,则需要采用可逆的加密解密算法。 下面一组PHP函数是实现此加密解密的方法: 加密算法如下: 代码如下:function encrypt($data, $key){ $key = md5($key); $x = 0; $len = strlen($data); $l = strlen($key); for ($i = 0; $i < $len; $i++) { if ($x == $l) ...

PHP实现的蚂蚁爬杆路径算法代码_php技巧

本文实例讲述了PHP实现的蚂蚁爬杆路径算法代码。分享给大家供大家参考,具体如下: <?php /*** 有一根27厘米的细木杆,在第3厘米、7厘米、11厘米、17厘米、23厘米这五个位置上各有一只蚂蚁。* 木杆很细,不能同时通过一只蚂蚁。开始 时,蚂蚁的头朝左还是朝右是任意的,它们只会朝前走或调头,* 但不会后退。当任意两只蚂蚁碰头时,两只蚂蚁会同时调头朝反方向走。假设蚂蚁们每秒钟可以走一厘米的距离。* 编写程序,求所有蚂蚁都离...

PHP 各种排序算法实现代码

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

php 3行代码的分页算法(求起始页和结束页)

一个好的分页算法, 应该具有下面的优点: 当前页码应该尽量在正中间. 如果"首页"和"尾页"不可用(当前处于第一页或最后一页), 不要隐藏这两组文字, 以免链接按钮位置变动. 算法简单. 下面的算法具有前面1和3两个优点. 代码如下:// $curr_index, 当前页码. // $link_count, 链接数量. // $page_count, 当前的数据的总页数. // $start, 显示时的起始页码. // $end, 显示时的终止页码. $start = max(1, $curr_index - intval($link_cou...