二维数组快速排序
2017-08-08 14:06
267 查看
<?php
class Goods{
private static function sort($data) {
if (count ( $data ) <= 1) {
return $data;
}
$tem = $data [0]['price'];
$leftarray = array ();
$rightarray = array ();
for($i = 1; $i < count ( $data ); $i ++) {
if ($data [$i]['price'] <= $tem ) {
$leftarray[] = $data[$i];
} else {
$rightarray[] = $data[$i];
}
}
$leftarray=self::sortt($leftarray);
$rightarray=self::sortt($rightarray);
$sortarray = array_merge ( $leftarray, array ($data[0]), $rightarray );
return $sortarray;
}
}
$goods=array(
array('id'=>1,'name'=>'T恤','price'=>76),
array('id'=>1,'name'=>'裙子','price'=>183),
array('id'=>1,'name'=>'裤子,'price'=>165),
array('id'=>1,'name'=>'帽子','price'=>32),
array('id'=>1,'name'=>'短裤','price'=>89),
);
print_r(Goods::sort($goods));
class Goods{
private static function sort($data) {
if (count ( $data ) <= 1) {
return $data;
}
$tem = $data [0]['price'];
$leftarray = array ();
$rightarray = array ();
for($i = 1; $i < count ( $data ); $i ++) {
if ($data [$i]['price'] <= $tem ) {
$leftarray[] = $data[$i];
} else {
$rightarray[] = $data[$i];
}
}
$leftarray=self::sortt($leftarray);
$rightarray=self::sortt($rightarray);
$sortarray = array_merge ( $leftarray, array ($data[0]), $rightarray );
return $sortarray;
}
}
$goods=array(
array('id'=>1,'name'=>'T恤','price'=>76),
array('id'=>1,'name'=>'裙子','price'=>183),
array('id'=>1,'name'=>'裤子,'price'=>165),
array('id'=>1,'name'=>'帽子','price'=>32),
array('id'=>1,'name'=>'短裤','price'=>89),
);
print_r(Goods::sort($goods));
相关文章推荐
- 对二维数组进行快速排序的 方法
- php冒泡排序、快速排序、快速查找、二维数组去重实例分享
- vb应用--快速排序-法实现二维数组的指定列排序
- php冒泡排序、快速排序、快速查找、二维数组去重实例分享
- [模板]快速排序
- JS实现随机化快速排序的实例代码
- 快速排序,堆排序和归并排序谁更快?
- 冒泡排序、选择排序、快速排序、插入排序(希尔排序)、堆排序(十大排序)
- PHP 二维数组根据某个字段进行排序
- 排序算法——快速排序
- 交换排序---快速排序
- 快速排序
- javaScript实现快速排序
- C++快速排序9行代码
- 9种排序算法性能之比较之----快速排序
- 链表:快速排序
- Java排序算法:快速排序
- 八大排序--快速排序
- 排序--快速排序学习
- 【小镇的技术天梯】C语言,冒泡、快速、希尔、选择排序