<?php
/**
* @Created by Sort.
* @User: lz
* @Date: 2017/11/27
*/
Class Sort
{
/*
* 冒泡排序-将数组由大到小排序
* */
public function BubblingSort ($arr) {
$len = count($arr);
for($i=1;$i<$len;$i++)
{
for($j=0;$j<$len-$i;$j++)
{
if($arr[$j]<$arr[$j+1])
{
//list函数使用,用于交换位置
list($arr[$j],$arr[$j+1]) = [$arr[$j+1],$arr[$j]];
}
}
}
return $arr;
}
/*
* 快速排序-将数组从小到大排序
* */
public function QuickSort ($arr) {
$len = count($arr);
//设置一个出口
if($len <= 1) {
return $arr;
}
//选择一个中间数,在以这个数为界限分为左边和右边两个数组
$big = [];
$small = [];
//选择一个中间值
$base = $arr[0];
for($i=1;$i<$len;$i++) {
if($arr[$i] > $base) {
$big[] = $arr[$i];
}else {
$small[] = $arr[$i];
}
}
$left = $this->QuickSort($small);
$right = $this->QuickSort($big);
//使用PHP函数array_merge将多个数组的单元合并起来
$arr = array_merge($left,[$base],$right);
return $arr;
}
}
?>
/**
* @Created by Sort.
* @User: lz
* @Date: 2017/11/27
*/
Class Sort
{
/*
* 冒泡排序-将数组由大到小排序
* */
public function BubblingSort ($arr) {
$len = count($arr);
for($i=1;$i<$len;$i++)
{
for($j=0;$j<$len-$i;$j++)
{
if($arr[$j]<$arr[$j+1])
{
//list函数使用,用于交换位置
list($arr[$j],$arr[$j+1]) = [$arr[$j+1],$arr[$j]];
}
}
}
return $arr;
}
/*
* 快速排序-将数组从小到大排序
* */
public function QuickSort ($arr) {
$len = count($arr);
//设置一个出口
if($len <= 1) {
return $arr;
}
//选择一个中间数,在以这个数为界限分为左边和右边两个数组
$big = [];
$small = [];
//选择一个中间值
$base = $arr[0];
for($i=1;$i<$len;$i++) {
if($arr[$i] > $base) {
$big[] = $arr[$i];
}else {
$small[] = $arr[$i];
}
}
$left = $this->QuickSort($small);
$right = $this->QuickSort($big);
//使用PHP函数array_merge将多个数组的单元合并起来
$arr = array_merge($left,[$base],$right);
return $arr;
}
}
?>