PHP常用基础算法(未完待续)
来源:互联网 发布:vb续行符 编辑:程序博客网 时间:2024/05/22 15:07
<?php
#先来点基础算法吧!12个(小到大)
$array = array( 23,4,23,35,99,7,8,787,4,464,77773,9 );
echo date("Y-m-d H:i:s");
echo "</br>";
print_r( $array );
echo "</br>";
print_r(paomao( $array ));
echo date("Y-m-d H:i:s");
echo "</br>";
print_r(kuaisu( $array ));
echo date("Y-m-d H:i:s");
echo "</br>";
print_r(xuanze( $array ));
echo date("Y-m-d H:i:s");
#最基础的o(n^2)
function paomao( $array ){
if($array){
$num = count( $array ) ;
for( $i = 0 ; $i < $num ; $i++ ){
for( $j = $num - 1 ; $j > $i ; $j-- ){
if( $array[$j] < $array[$j-1]){
$ret = $array[$j];
$array[$j] = $array[$j-1];
$array[$j-1] = $ret;
}
}
}
}
return $array;
}
#来一个快速排序吧。。毕竟带着快速 值得我们看看
#所谓快速就是把一个数组找一个标记。然后分成两个子数组
#然后按照同样的方式,递归
function kuaisu( $array ){
if($array){
#选个标记位
$num = count( $array );
$flag = $array[0];
$left = array();
$right = array();
foreach( $arrayas $key => $val){
if( $val > $flag ){
$right[] = $val;
}else if( $val < $flag ){
$left[] = $val;
}else{
$center[] = $flag;
}
}
$left = kuaisu( $left );
$right = kuaisu( $right );
$array = array_merge($left,$center,$right);
}
return $array ;
}
#选择排序
#和冒泡的关系
function xuanze( $array ){
if( $array ){
$num = count( $array );
for( $i = 0 ; $i < $num ; $i++){
$p = $i;
for( $j = $i; $j < $num ; $j++){
if( $array[ $p ] > $array[ $j ]){
$p = $j;
}
}
if( $i != $p ){
$ret = $array[ $p ];
$array[ $p ] = $array[ $i ];
$array[ $i ] = $ret ;
}
}
return $array ;
}else{
echo " ERROR ";
}
}
- PHP常用基础算法(未完待续)
- Java 实现常用排序算法(未完待续。。。)
- 基础算法4——回溯(backtracking)【未完待续】
- 基础排序算法个人小结(未完待续).md
- 脚本基础(未完待续)
- 一些算法(未完待续)
- DBA管理常用SQL(未完待续)
- @武汉常用网站地址(未完待续)
- 常用 函数 举例(未完待续...)
- Linux常用一句话脚本(未完待续)
- String常用方法(未完待续)
- spring常用注解(未完待续)
- [未完待续]PHP函数
- PHP底层未完待续
- C# 基础补遗(未完待续)
- java的基础语法(未完待续)
- Java基础--待续未完
- css基础(未完待续)
- mac开启ssh的方法
- 【Android】Fragment真正意义上的onResume和onPause
- hdoj题目分类
- HDU 1711
- VC中编写DLL的函数声明问题
- PHP常用基础算法(未完待续)
- uva12325(greedy)
- mac虚拟机工具VMware Tools Darwin
- 微信收货地址共享开发接口讲解
- APP上架被拒解决方案
- linux send与recv函数详解
- ChipScope使用总结
- 小谈如何解决问题
- Storm安装