<?php


function qsort($arr){
//判断是否为数组 或为空
if(!is_array($arr) || empty($arr)){
return array();
}

//获取数组长度
$len = count($arr);

//判断长度 <=1 返回数组
if($len <= 1){
return $arr;
}
//定义中间键 左键 右键
$key[0] = $arr[0];
$left = array();
$right = array();

//循环 下标从1开始
for ($i=1; $i < $len; $i++) {
//判断
if($arr[$i] < $key[0]){
//在左边
$left[] = $arr[$i];
}else{
//右边
$right[] = $arr[$i];
}
}

//递归调用
$left = qsort($left);
$right = qsort($right);

//合并多个数组并返回
return array_merge($left,$key,$right);
}

$arr = array(1232,57,34,657543,21,76,43476321,476,52,76,5,-23);

$arr = qsort($arr);
var_dump($arr);


?>

更多相关文章

  1. 学习成绩统计-【数组操作】
  2. PHP内爆不适用于大数组?
  3. 如何为$ wpdb-> insert创建一个包含column => value对的数组
  4. 如何递归将特色图像应用于Wordpress中的子页面?
  5. 如何在php中为json数组创建搜索功能
  6. json_encode在数组上返回null
  7. PHP数组值进入第二个数组[重复]
  8. 如何在php数组中插入新的键值对?
  9. mysql_fetch_array返回一个数组,数字为“1”

随机推荐

  1. Android 笔记一:线性布局
  2. android读取功能
  3. Android:LayoutAnimation、布局动画
  4. android进度条
  5. android自动更新新版模块(简单,实用)
  6. android webView与js交互
  7. android View的快照与屏幕的截屏
  8. Android修改输入法Enter的文本
  9. Android P图形架构之三屏异显实现
  10. 新说android launch mode