classbevin{
public$public='public'
private$private='private'
protected$protected='protected'
//final $final = 'final'
static$static='static'
function__construct(){
$this->protected='change private'
}
publicfunctionsetValue($a){
self::$static=$a;
}
publicfunctiongetValue(){
echo$this->private;
}
function__destruct(){
echo'asdfsadf'
}
}
classpaixu {
// 基本排序
publicfunctiont_sortArray($array) {
if(is_array($array) &&count($array)>1) {
for($i=0;$i<count($array);$i++) {
for($j=($i+1);$j<count($array);$j++) {
$temp=$array[$i];
if($array[$j]<$array[$i]) {
$array[$i] =$array[$j];
$array[$j] =$temp;
}
}
}
return$array;
}else{
return$array;
}
}
// 冒泡排序
publicfunctionc_sortArray($array) {
if(!is_array($array) ||count($array)<=1){return$array; }
$status= false;
foreach($arrayas$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;
}
}
// 快速排序
publicfunctionv_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($arrayas$key=>$v) {
if($v>$m) {
$rightarray[] =$v;
}
if($v<$m) {
$leftarray[] =$v;
}
if($v==$m) {
$mid[] =$v;
}
}
$nleftarray=$this->v_sortArray($leftarray);
$nrightarray=$this->v_sortArray($rightarray);
returnarray_merge($nleftarray,$mid,$nrightarray);
}
// 直接插入排序
publicfunctioni_sortArray($array) {
if(!is_array($array) ||count($array)<=1){return$array; }
$newarray=array($array[0]);
$temp= 0;
foreach($arrayas$k=>$v) {
if($k>0) {
if($v>=$newarray[count($newarray)-1]) {
$newarray[] =$v;
}else{
foreach($newarrayas$nk=>$nv) {
if($v<$nv) {
$temparray=array();
foreach($newarrayas$ck=>$cv) {
if($ck<$nk) {
$temparray[$ck] =$cv;
}elseif($ck==$nk) {
$temparray[$ck] =$v;
$temparray[($ck+1)] =$cv;
}else{
$temparray[($ck+1)] =$cv;
}
}
$newarray=$temparray;
break;
}
}
}
}
}
return$newarray;
}
}
$bevin=newpaixu;
$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);
運行結果:
代碼如下復制代碼Array
(
[0] => 4
[1] => 4
[2] => 4
[3] => 5
[4] => 5
[5] => 5
[6] => 5
[7] => 5
[8] => 5
[9] => 5
)
Array
(
[0] => 4
[1] => 4
[2] => 4
[3] => 5
[4] => 5
[5] => 5
[6] => 5
[7] => 5
[8] => 5
[9] => 5
)
Array
(
[0] => 4
[1] => 4
[2] => 4
[3] => 5
[4] => 5
[5] => 5
[6] => 5
[7] => 5
[8] => 5
[9] => 5
)
Array
(
[0] => 4
[1] => 4
[2] => 4
[3] => 5
[4] => 5
[5] => 5
[6] => 5
[7] => 5
[8] => 5
[9] => 5
)