一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - php實現快速排序法函數代碼

php實現快速排序法函數代碼

2020-01-07 16:39PHP教程網 PHP教程

取一個值與其他值進行比較,小的放在這個值的左邊,大的放在這個值的右邊,然后按照這個方式遞歸

代碼1: 

復制代碼代碼如下:


<?php 
function quicksort($str){ 
if(count($str)<=1) return $str;//如果個數不大于一,直接返回 
$key=$str[0];//取一個值,稍后用來比較; 
$left_arr=array(); 
$right_arr=array(); 
for($i=1;$i<count($str);$i++){//比$key大的放在右邊,小的放在左邊; 
if($str[$i]<=$key) 
$left_arr[]=$str[$i]; 
else 
$right_arr[]=$str[$i]; 

$left_arr=quicksort($left_arr);//進行遞歸; 
$right_arr=quicksort($right_arr); 
return array_merge($left_arr,array($key),$right_arr);//將左中右的值合并成一個數組; 
}//以下是測試 
$str=array(5,3,8,2,5,9,7,2,1,4,0); 
print_r(quicksort($str)); 
?> 


代碼2: 

復制代碼代碼如下:


/* @快速排序法*/ 
function quickSort($left,$right,$arr){ 
$l = $left; 
$r = $right; 
$pivot = $arr[($left+$right)/2]; 
$temp = 0; 

while($l<$r){ 
while($arr[$l]<$pivot){ 
$l++; 

while($arr[$r]>$pivot){ 
$r--; 


if($l>=$r) break; 

$temp = $arr[$l]; 
$arr[$l] = $arr[$r]; 
$arr[$r] = $temp; 

if($arr[$l]==$pivot) --$r; 
if($arr[$r]==$pivot) ++$l; 


if($l==$r){ 
$l++; 
$r--; 


if($left<$r){ 
quickSort($left, $r, $arr); 
}elseif($right>$l){ 
quickSort($l, $right, $arr); 
}else{ 
return $arr; 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 999精品视频在线观看热6 | 国产日产韩产麻豆1区 | 青苹果乐园影院在线播放 | 亚洲福利视频一区 | 日本一区视频在线 | 黑人巨摘花第一次出血 | 九九热这里只有精品2 | 丫鬟粗大狠狠贯穿h | 亚洲精品卡1卡二卡3卡四卡 | 好大好硬好紧太深了受不了 | 男同志gays | 奇米影视中文字幕 | 天天天天天天天操 | 国内精品一区二区在线观看 | 欧美无专区 | 506rr亚洲欧美| 欧美一级鲁丝片免费看 | 金牛网155755水心论坛黄大父母 | 欧美jjvideo| 日韩香蕉网 | 亚洲精品免费在线 | 日本暖暖在线视频 | 国产小嫩模好紧 | 国产做a爰片久久毛片 | 成人福利在线播放 | 青青在线观看 | 国自产拍在线天天更新91 | 91久久精品国产一区二区 | 第一次不是你高清在线观看 | 国产日韩精品一区二区 | 双性总裁(h)| 欧美精品久久一区二区三区 | 日本xxxxx69hd日本 | 欧美yw193.c㎝在线观看 | 香蕉草莓视频 | 爆操美女 | 热久久最新视频 | 成人免费观看一区二区 | 丝瓜秋葵番茄绿巨人在线观看 | 吉泽明步高清无码中文 | 日韩精品一区二三区中文 |