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实现排序算法----归并排序(Merging Sort)

基本思想:归并排序:就是利用归并(合并)的思想实现的排序方法。它的原理是假设初始序列含有 n 个元素,则可以看成是 n 个有序的子序列,每个子序列的长度为 1,然后两两归并,得到 ⌈ n / 2⌉ (...
  • baidu_30000217
  • baidu_30000217
  • 2016年11月27日 13:47
  • 2306

php实现归并排序

php实现归并排序: 这个排序我看了很久,大多数代码是从百度上看到的,因为我也是一个php的菜菜的,不过觉得应该把思路写下来,一方面是自己要总结一下,一方面是自己把思路写出来如果有哪里不对的地方也希...
  • liwuqi123456
  • liwuqi123456
  • 2016年01月17日 22:33
  • 397

PHP实现排序二叉树的基本功能

本文用php实现了 排序二叉树节点的插入,中序遍历,极值的查找和特定值的查找的功能.基本没有提供什么概念和定义.建议先简单了解一下本文提供的几个概念在来看本文.实际上,只是简单的提供了代码,注释也很少...
  • Oops_Qu
  • Oops_Qu
  • 2017年10月19日 10:00
  • 163

PHP实现排序算法----快速排序(Quick Sort)、快排

基本思想:快速排序(Quicksort)是对冒泡排序的一种改进。他的基本思想是:通过一趟排序将待排记录分割成独立的两部分,其中一部分的关键字均比另一部分记录的关键字小,则可分别对这两部分记录继续进行快...
  • baidu_30000217
  • baidu_30000217
  • 2016年11月23日 21:56
  • 3132

PHP实现归并排序(合并排序)--算法原理分析

归并排序:时间复杂度为~O(nlogn)—又称合并排序 归并(Merge)排序法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个有序的子序列,再把有序的子序列合并为整体有序序...
  • dalaoadalaoa
  • dalaoadalaoa
  • 2015年10月18日 17:56
  • 3248

PHP实现快速排序

思路分析:选择一个基准元素,通常选择第一个元素或者最后一个元素。通过一趟扫描,将待排序列分成两部分,一部分比基准元素小,一部分大于等于基准元素。此时基准元素在其排好序后的正确位置,然后再用同样的方法递...
  • vvvbird
  • vvvbird
  • 2016年04月22日 15:54
  • 1645

几种常见排序算法实现

#include #include #include #pragma comment(linker,"/subsystem:console") using namespace std; const i...
  • u013189665
  • u013189665
  • 2014年06月20日 22:38
  • 352

PHP实现商品按销量价格升降序排序

通过PHP和JavaScript调用Mysql数据库来实现,商品销量、价格的升序、降序来筛选商品信息,以及JavaScript function的使用。...
  • u014599700
  • u014599700
  • 2017年12月29日 14:43
  • 91

PHP实现排序算法----希尔排序(Shell Sort)

基本思想:希尔排序是指记录按下标的一定增量分组,对每一组使用 直接插入排序 ,随着增量逐渐减少,每组包含的关键字越来越多,当增量减少至 1 时,整个序列恰好被分成一组,算法便终止。操作步骤:先取一个小...
  • baidu_30000217
  • baidu_30000217
  • 2016年11月08日 19:04
  • 1094

php四种基础算法:冒泡,选择,插入和快速排序法

需求:分别用 冒泡排序法,快速排序法,选择排序法,插入排序法将下面数组中 的值按照从小到的顺序进行排序。  $arr(1,43,54,62,21,66,32,78,36,76,39); 1. ...
  • guowenwen_0416
  • guowenwen_0416
  • 2016年10月10日 16:16
  • 5205
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:PHP实现常见排序
举报原因:
原因补充:

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