鱼C论坛

 找回密码
 立即注册

排序

已有 655 次阅读2013-1-9 16:43 |个人分类:数据结构

<?php
$arr = array(-1,5,3,1,8,6);
$num = count($arr);
//冒泡
function bebblu(&$arr)
{
for($i=0; $i<count($arr)-1; $i++)
{
for($j=0; $j<count($arr)-1-$i; $j++)
{
if($arr[$j]<$arr[$j+1])
{
$temp = $arr[$j];
$arr[$j] = $arr[$j+1];
$arr[$j+1] = $temp;
}
}
}
}
//选择
function select(&$arr)
{
for($i=0; $i<count($arr)-1; $i++)
{
$val = $arr[$i];
$index =$i;
for($j=$i+1; $j<count($arr); $j++)
{
if($val>$arr[$j])
{
$index = $j;
$val =$arr[$j];
}
}
$temp = $arr[$i];
$arr[$i] = $arr[$index];
$arr[$index] = $temp;
}
}
//插入
function insert(&$arr)
{
for($i=1; $i<count($arr); $i++)
{
$val = $arr[$i];
$index =$i;
while($index>0 && $arr[$index-1]<$val)
{
$arr[$index]=$arr[$index - 1];
$index--;
}
$arr[$index] = $val;
}
}

//快速
function QuickSort(&$arr,$low,$high)
{
if($low<$high)
{
$pos = Finpos($arr,$low,$high);
QuickSort($arr,$low,$pos-1);
QuickSort($arr,$pos+1,$high);
}
}

function Finpos(&$arr,$low,$high)
{
$val = $arr[$low];
while($low<$high)
{
while($low<$high && $arr[$high]>=$val){
$high--;
}
$arr[$low] = $arr[$high];
while($low<$high && $arr[$low]<=$val){
$low++;
}
$arr[$high] = $arr[$low];
}
$arr[$low]=$val;
return $low;
}

//insert($arr);
//select($arr);
//bebblu($arr);
QuickSort($arr,0,5);
print_r($arr);
?>

路过

雷人

握手

鲜花

鸡蛋

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 立即注册

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-1 15:48

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

返回顶部