php二分法 冒泡 快速排序,PHP 常见算法【冒泡排序, 快速排序, 插入排序, 取舍排序, 二分法查找, .】...

// 快速排序

function quicksort($arr) {

if(($count = count($arr)) <= 1 ) return $arr;

$base = $arr[0];

$left = $right = array();

for($i=1; $i

// 插入排序

function insertsort($arr) {

for($i=1, $j=count($arr); $i 0 && $arr[$k-1] > $arr[$k]) {

list($arr[$k], $arr[$k-1]) = array($arr[$k-1], $arr[$k]);

$k--;

}

}

return $arr;

}

$array=array(10,8,7,5,1,2,3,4);

print_r(insertsort($array));

?

// 选择排序, (非递归)

function selectsort($arr) {

for($i=0, $j=count($arr); $i<=$j; $i++) {

$min = $i;

$temp = $arr[$i];

for($k=$i+1; $k $arr[$k]) {

$min = $k;

$temp = $arr[$k];

}

}

if($min != $i) list($arr[$min], $arr[$i]) = array($arr[$i], $arr[$min]);

}

return $arr;

}

$arr = array(9,3,11,23,90,99,12,34,22,87,32);

print_r(selectsort($arr));

?

// 选择排序(递归实现)

function selectsort2($arr, $start = 0) {

if(($count = count($arr)) == $start + 1) return $arr;

$new = array();

$min = $arr[$start];

$min_index = $start;

for($i=$start+1; $i

?

?

?

$base) return binarysearch($arr, $value, $index+1, $end);

else return $index;

}

$arr = array(1, 3, 5, 6, 7, 8, 10, 12, 14, 16, 18, 20);

$value = 8;

echo binarysearch($arr, $value);

?

待续...

相关文章

相关视频

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值