class bevin{
public $public = 'public';
private $private = 'private';
protected $protected = 'protected';
//final $final = 'final';
static $static = 'static';
function __construct(){
$this->protected = 'change private';
}
public function setValue($a){
self::$static = $a;
}
public function getValue(){
echo $this->private;
}
function __destruct(){
echo 'asdfsadf';
}
}
class paixu {
// 基本排序
public function t_sortArray($array) {
if(is_array($array) && count($array)>1) {
for($i=0; $i
for($j=($i+1); $j
$temp = $array[$i];
if($array[$j]
$array[$i] = $array[$j];
$array[$j] = $temp;
}
}
}
return $array;
} else {
return $array;
}
}
// 冒泡排序
public function c_sortArray($array) {
if(!is_array($array) || count($array)<=1){ return $array; }
$status = false;
foreach($array as $key=>$v) {
if($key>0) {
if($array[$key-1]>$array[$key]) {
$array[$key] = $array[$key-1];
$array[$key-1] = $v;
$status = true;
}
}
}
if($status) {
return $this->c_sortArray($array);
} else {
return $array;
}
}
// 快速排序
public function v_sortArray($array) {
if(!is_array($array) || count($array)<=1){ return $array; }
if(count($array)>2) {
$m = $array[floor(count($array)/2)+1];
} else {
if($array[0]>$array[1]) {
$temp = $array[0];
$array[0] = $array[1];
$array[1] = $temp;
}
return $array;
}
$leftarray = array();
$rightarray = array();
foreach($array as $key=>$v) {
if($v>$m) {
$rightarray[] = $v;
}
if($v
$leftarray[] = $v;
}
if($v==$m) {
$mid[] = $v;
}
}
$nleftarray = $this->v_sortArray($leftarray);
$nrightarray = $this->v_sortArray($rightarray);
return array_merge($nleftarray,$mid,$nrightarray);
}
// 直接插入排序
public function i_sortArray($array) {
if(!is_array($array) || count($array)<=1){ return $array; }
$newarray = array($array[0]);
$temp = 0;
foreach($array as $k=>$v) {
if($k>0) {
if($v>=$newarray[count($newarray)-1]) {
$newarray[] = $v;
} else {
foreach($newarray as $nk=>$nv) {
if($v
$temparray = array();
foreach($newarray as $ck=>$cv) {
if($ck
$temparray[$ck] = $cv;
} elseif($ck==$nk) {
$temparray[$ck] = $v;
$temparray[($ck+1)] = $cv;
} else {
$temparray[($ck+1)] = $cv;
}
}
$newarray = $temparray;
break;
}
}
}
}
}
return $newarray;
}
}
$bevin = new paixu;
$array = array(5,4,5,4,4,5,5,5,5,5);
$v = $bevin->t_sortArray($array);
print_r($v);
$v = $bevin->c_sortArray($array);
print_r($v);
$v = $bevin->v_sortArray($array);
print_r($v);
$v = $bevin->i_sortArray($array);
print_r($v);