亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > PHP > 正文

PHP版本常用的排序算法匯總

2024-05-04 23:41:09
字體:
來源:轉載
供稿:網友
本文給大家匯總介紹了一些php中常見的排序算法的代碼,非常實用,有需要的小伙伴可以參考下。
 

//1、冒泡排序

function bubble_sort($arr){  $n = count($arr);  for($i=0;$i<$n-1;$i++){    for($j=$i+1;;$j<$n-$i;$j++){      if($arr[$j]<$arr[$i]){        $temp = $arr[$i];        $arr[$i] = $arr[$j];        $arr[$j] = $temp;      }    }  }}

 //2、歸并排序

//merge函數將指定的兩個有序數組(arr1arr2,)合并并且排序//我們可以找到第三個數組,然后依次從兩個數組的開始取數據哪個數據小就先取哪個的,然后刪除掉剛剛取過///的數據function al_merge($arrA, $arrB){$arrC = array();while (count($arrA) && count($arrB)) {//這里不斷的判斷哪個值小,就將小的值給到arrC,但是到最后肯定要剩下幾個值,//不是剩下arrA里面的就是剩下arrB里面的而且這幾個有序的值,肯定比arrC里面所有的值都大所以使用$arrC[] = $arrA['0'] < $arrB['0'] ? array_shift($arrA) : array_shift($arrB);}return array_merge($arrC, $arrA, $arrB);}//歸并排序主程序function al_merge_sort($arr){$len = count($arr);if ($len <= 1) {return $arr; //遞歸結束條件,到達這步的時候,數組就只剩下一個元素了,也就是分離了數組}$mid = intval($len / 2); //取數組中間$left_arr = array_slice($arr, 0, $mid); //拆分數組0-mid這部分給左邊left_arr$right_arr = array_slice($arr, $mid); //拆分數組mid-末尾這部分給右邊right_arr$left_arr = al_merge_sort($left_arr); //左邊拆分完后開始遞歸合并往上走$right_arr = al_merge_sort($right_arr); //右邊拆分完畢開始遞歸往上走$arr = al_merge($left_arr, $right_arr); //合并兩個數組,繼續遞歸return $arr;}$arr = array(12, 5, 4, 7, 8, 3, 4, 2, 6, 4, 9);print_r(al_merge_sort($arr));

 //3、二分查找-遞歸

//二分查找-遞歸function bin_search($array,$low,$high,$k){  if($low <= $high){    $mid = intval(($low+$high)/2);  }else{    return false;  }  if($array[$mid] == $k){    return $mid;  }elseif($k < $array[$mid]){    return bin_search($array,$low,$mid-1,$k);  }else{    return bin_search($array,$mid+1,$high,$k);  }}$arr = array(12, 5, 4, 7, 3, 8, 4, 2, 6, 4, 9);$index = bin_search($arr,0,10,12); //直接輸出為空,不解echo(intval($index));

//4、二分查找-非遞歸

function bin_search($arr,$low,$high,$value) {//$arr 數組; $slow 最小索引; $high 最大索引 $value 查找的值  while($low<=$high) {     $mid=intval(($low+$high)/2);     if($value==$arr[$mid]){      return $mid;     }elseif($value<$arr[$mid]){      $high=$mid-1;     }else{      $low=$mid+1;     }   }  return false; }

//5、快速排序

function quick_sort($arr) {  $n=count($arr);  if($n<=1)    return $arr;  $key=$arr[0];  $left_arr=array();  $right_arr=array();  for($i=1;$i<$n;$i++) {    if($arr[$i]<=$key)      $left_arr[]=$arr[$i];    else      $right_arr[]=$arr[$i];  }  $left_arr=quick_sort($left_arr);  $right_arr=quick_sort($right_arr);  return array_merge($left_arr,array($key),$right_arr);}

//6、選擇排序

function select_sort($arr) {  $n=count($arr);  for($i=0;$i<$n;$i++) {    $k=$i;    for($j=$i+1;$j<$n;$j++) {      if($arr[$j]<$arr[$k])        $k=$j;    }    if($k!=$i) {      $temp=$arr[$i];      $arr[$i]=$arr[$k];      $arr[$k]=$temp;    }  }  return $arr;}

//7、插入排序

function insertSort($arr) {  $n=count($arr);  for($i=1;$i<$n;$i++) {    $tmp=$arr[$i];    $j=$i-1;    while($arr[$j]>$tmp) {      $arr[$j+1]=$arr[$j];      $arr[$j]=$tmp;      $j--;      if($j<0)        break;    }  }  return $arr;}


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
午夜精品一区二区三区视频免费看| 97福利一区二区| 欧美日本高清一区| 日日摸夜夜添一区| 中文字幕亚洲一区在线观看| 欧美成人合集magnet| 国产乱人伦真实精品视频| 亚洲第一精品电影| 亚洲欧洲国产伦综合| 久久精品成人欧美大片古装| 成人中心免费视频| 综合欧美国产视频二区| 欧美精品www在线观看| 国产亚洲欧洲高清一区| 裸体女人亚洲精品一区| 日韩免费av一区二区| 成人久久久久久久| 欧美视频在线看| 色综合久久久久久中文网| 日韩视频免费看| 国产精品久久久久久亚洲调教| 久久精品久久久久电影| 亚洲国产精品电影在线观看| 亚洲美女又黄又爽在线观看| 成人激情av在线| 日本不卡高字幕在线2019| 色午夜这里只有精品| 亚洲欧美自拍一区| 精品久久在线播放| 日韩精品中文字| 亚洲精品久久在线| 欧美大片网站在线观看| 久久久最新网址| 日本精品视频在线| 亚洲欧洲激情在线| 色综合老司机第九色激情| 宅男66日本亚洲欧美视频| 欧美日韩亚洲成人| 77777少妇光屁股久久一区| 91中文字幕在线观看| 亚洲乱码国产乱码精品精| 日韩精品一区二区视频| 成人做爰www免费看视频网站| 91沈先生作品| 在线免费观看羞羞视频一区二区| 91老司机精品视频| 亚洲欧美中文日韩在线| 亚洲欧美日韩另类| 亚洲韩国欧洲国产日产av| 亚洲aⅴ男人的天堂在线观看| 欧美第一黄网免费网站| 国产偷亚洲偷欧美偷精品| 欧美大片大片在线播放| 久久精品视频亚洲| 色综合天天综合网国产成人网| 国产精品美女免费看| 高清亚洲成在人网站天堂| 午夜精品理论片| 欧美午夜电影在线| 欧美精品18videos性欧美| 国产精品久久91| 欧美精品在线看| 亚洲欧美资源在线| 亚洲天堂男人天堂女人天堂| 精品高清美女精品国产区| 欧美综合国产精品久久丁香| 中文国产成人精品久久一| 日韩毛片中文字幕| 欧美日韩国产va另类| 91精品久久久久久久久中文字幕| 中文字幕欧美日韩| 欧美成人午夜视频| 日韩亚洲欧美中文高清在线| 午夜精品久久久久久久99热| 日本午夜在线亚洲.国产| 国产精品久久久久久久久久久不卡| 国产日韩精品在线观看| 91av在线免费观看| 久久久精品免费视频| 国产欧美精品久久久| 国产精品视频最多的网站| 一区二区三区天堂av| 亚洲欧美综合图区| 亚洲精品久久久久久久久| 亚洲无线码在线一区观看| 欧美日韩一区二区三区在线免费观看| 精品视频偷偷看在线观看| 中日韩美女免费视频网址在线观看| 久久91亚洲精品中文字幕| 色爱精品视频一区| 免费97视频在线精品国自产拍| 国内自拍欧美激情| 热99久久精品| 日韩成人在线视频观看| 亚洲一区二区三区四区视频| 亚洲乱亚洲乱妇无码| 国产成人精品av在线| 国产精彩精品视频| 色综合老司机第九色激情| 精品女厕一区二区三区| 欧美日韩中文字幕在线视频| 欧美日韩黄色大片| 国产suv精品一区二区| 精品亚洲一区二区三区在线播放| **欧美日韩vr在线| 国产精品男女猛烈高潮激情| 亚洲电影在线看| 韩国福利视频一区| 日本高清不卡的在线| 青青久久av北条麻妃海外网| 欧美成人精品三级在线观看| zzjj国产精品一区二区| 国产精品小说在线| 久久国产精品久久久| 欧美在线视频观看免费网站| 精品亚洲一区二区三区在线播放| 亚洲韩国欧洲国产日产av| 日韩在线视频免费观看高清中文| 国产美女精品视频| 黑人巨大精品欧美一区免费视频| 亚洲一区二区少妇| 日韩大片在线观看视频| 国产精品国产三级国产aⅴ9色| 成人亚洲欧美一区二区三区| 国产亚洲一级高清| 国产精品普通话| 伊人一区二区三区久久精品| 欧洲成人免费视频| 色狠狠av一区二区三区香蕉蜜桃| 国产啪精品视频网站| 精品久久久一区| 国产成人精品av| 国产精品久久久久一区二区| 欧美激情精品久久久久| 欧美黑人视频一区| 91av在线看| 欧美视频在线观看免费| 亚洲最新av在线| 5252色成人免费视频| 中文字幕不卡av| 亚洲国产精品va在看黑人| 国产99视频精品免视看7| 欧美国产日韩一区二区| 久久久久久噜噜噜久久久精品| 日韩成人在线视频| 日本a级片电影一区二区| zzijzzij亚洲日本成熟少妇| 国产成人极品视频| 欧美成人剧情片在线观看| 亚洲无亚洲人成网站77777| 在线观看欧美成人| 日韩三级成人av网| 亚洲国产精品成人va在线观看| 日韩成人激情在线| 国产91精品久久久久| 亚洲成人久久网| 国产精品一二三在线| 中文字幕精品久久| 伊人久久大香线蕉av一区二区| 91热福利电影| 神马久久桃色视频| 中文字幕av一区二区| 超碰91人人草人人干| 日本精品在线视频|