PHP实现常见排序

原创 2007年09月27日 19:12:00
<?php
//插入排序(一维数组)
function insert_sort($arr){
    
$count = count($arr);
    
for($i=1$i<$count$i++){
        
$tmp = $arr[$i];
        
$j = $i - 1;
        
while($arr[$j> $tmp){
            
$arr[$j+1= $arr[$j];
            
$arr[$j= $tmp;
            
$j--;
        }
    }
    
return $arr;
}


//选择排序(一维数组)
function select_sort($arr){
    
$count = count($arr);
    
for($i=0$i<$count$i++){
        
$k = $i;
        
for($j=$i+1$j<$count$j++){
            
if ($arr[$k> $arr[$j])
                
$k = $j;
            
if ($k != $i){
                
$tmp = $arr[$i];
                
$arr[$i= $arr[$k];
                
$arr[$k= $tmp;
            }
        }
    }
    
return $arr;
}

//冒泡排序(一维数组) 
function bubble_sort($array){ 
    
$count = count($array); 
    
if ($count <= 0return false
    
    
for($i=0$i<$count$i++){ 
        
for($j=$count-1$j>$i$j--){ 
            
if ($array[$j< $array[$j-1]){ 
                
$tmp = $array[$j]; 
                
$array[$j= $array[$j-1]; 
                
$array[$j-1= $tmp
            } 
        } 
    } 
    
return $array


//快速排序(一维数组) 
function quick_sort($array){ 
    
if (count($array<= 1return $array

    
$key = $array[0]; 
    
$left_arr = array(); 
    
$right_arr = array(); 
    
for ($i=1$i<count($array); $i++){ 
        
if ($array[$i<= $key
            
$left_arr[] = $array[$i]; 
        
else 
            
$right_arr[] = $array[$i]; 
    } 
    
$left_arr = quick_sort($left_arr); 
    
$right_arr = quick_sort($right_arr); 
    
    
return array_merge($left_arr, array($key), $right_arr); 


?>
 
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

四种常见的数组排序方法(php实现)

四种常见的数组排序方法(php实现)一、名称 冒泡排序 选择排序 插入排序 快速排序 二、实现<?php //冒泡 function bubbleSort(Array $a){ ...

用php实现几种常见的排序算法

一、冒泡排序 冒泡排序理解起来是最简单,但是时间复杂度(O(n^2))也是最大的之一,实现代码如下:function bubbleSort($arr) { $len = count($arr...

PHP实现几种常见的排序

<?php ini_set("error_reporting","E_ALL & ~E_NOTICE"); /** * 冒泡排序 */ function bubbleSort($arr) { ...

一些常见的排序算法(php语言)

<?php #直接插入排序,稳定 function InsertSort(&$arr){ $tmp=0; $len=count($arr); for ($i=1;$i<$len...

常见的排序实现

  • 2013-07-02 09:34
  • 439KB
  • 下载

Nginx + JDK + Tomcat + MySQL + SVN 安装使用指南

Nginx 是一款高性能的 http 服务器/反向代理服务器/电子邮件代理服务器,还可以配置虚拟主机。官方测试 Nginx 能够支持 5 万的并发连接,并且 CPU、内存等资源消耗却非常低,运行非常稳...

几种常见的排序算法 及代码实现

简单选择、直接插入、冒泡、快排
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)