PHP 冒泡排序 二分查找 顺序查找 二维数组排序算法函数的详解

2015-01-24信息快讯网

本篇文章是对PHP 冒泡排序 二分查找 顺序查找 二维数组排序算法函数进行了详细的分析介绍,需要的朋友参考下

数据结构很重要,算法+数据结构+文档=程序
使用PHP描述冒泡排序算法,对象可以是一个数组
//冒泡排序(数组排序)
function bubble_sort($array) {
$count = count($array);
if ($count <= 0)
return false;
for($i=0; $i<$count; $i++){
for($j=$count-1; $j>$i; $jC){
if ($array[$j] < $array[$j-1]){
$tmp = $array[$j];
$array[$j] = $array[$j-1];
$array[$j-1] = $tmp;
}
}
}
return $array; }

使用PHP描述顺序查找和二分查找(也叫做折半查找)算法,顺序查找必须考虑效率,对象可以是一个有序数组
//二分查找(数组里查找某个元素)
function bin_sch($array, $low, $high, $k){
if ($low <= $high){
$mid = intval(($low+$high)/2);
if ($array[$mid] == $k){
return $mid;
}elseif ($k < $array[$mid]){
return bin_sch($array, $low, $mid-1, $k);
}else{
return bin_sch($array, $mid+1, $high, $k);
}
}
return -1;
}
//顺序查找(数组里查找某个元素)
function seq_sch($array, $n, $k){
$array[$n] = $k;
for($i=0; $i<$n; $i++){
if($array[$i]==$k){
break;
}
}
if ($i<$n){
return $i;
}else{
return -1;
}
}

写一个二维数组排序算法函数,能够具有通用性,可以调用php内置函数
//二维数组排序, $arr是数据,$keys是排序的健值,$order是排序规则,1是升序,0是降序
function array_sort($arr, $keys, $order=0) {
if (!is_array($arr)) {
return false;
}
$keysvalue = array();
foreach($arr as $key => $val) {
$keysvalue[$key] = $val[$keys];
}
if($order == 0){
asort($keysvalue);
}else {
arsort($keysvalue);
}
reset($keysvalue);
foreach($keysvalue as $key => $vals) {
$keysort[$key] = $key;
}
$new_array = array();
foreach($keysort as $key => $val) {
$new_array[$key] = $arr[$val];
}
return $new_array;
}

php多维数组去掉重复值示例分享
php数组去重复数据示例
php对数组排序代码分享
将php数组输出html表格的方法
php删除数组元素示例分享
php的hash算法介绍
使用openssl实现rsa非对称加密算法示例
一组PHP可逆加密解密算法实例代码
php加密算法之实现可逆加密算法和解密分享
一个PHP二维数组排序的函数分享
php生成数组的使用示例 php全组合算法
php二维数组排序方法(array_multisort usort)
php对数组排序的简单实例
php对二维数组进行排序的简单实例
php查找任何页面上的所有链接的方法
执行、获取远程代码返回:file_get_contents 超时处理的问题详解
使用php判断网页是否gzip压缩
PHP Class&Object -- PHP 自排序二叉树的深入解析
通过PHP current函数获取未知字符键名数组第一个元素的值
解析PHP将对象转换成数组的方法(兼容多维数组类型)
解析左右值无限分类的实现算法
探讨Smarty中如何获取数组的长度以及smarty调用php函数的详解
解析PHP中数组元素升序、降序以及重新排序的函数
数组与类使用PHP的可变变量名需要的注意的问题
使用array mutisort 实现按某字段对数据排序
深入array multisort排序原理的详解
解析PHP SPL标准库的用法(遍历目录,查找固定条件的文件)
php实现简单洗牌算法
关于PHP二进制流 逐bit的低位在前算法(详解)
如何在PHP中使用正则表达式进行查找替换
基于php冒泡排序算法的深入理解
深入理解PHP几个算法:PHP冒泡、PHP二分法、PHP求素数、PHP乘法表
解析php二分法查找数组是否包含某一元素
自定义php类(查找/修改)xml文档
查找mysql字段中固定字符串并替换的几个方法
©2014-2024 dbsqp.com