PHP常見排序

1.冒泡排序
算法重復的訪問要排的數列鉴逞,一次比較兩個元素,如果順序錯誤就把他們糾正過來,
走訪數列的工作重復的進行,直到沒有在需要交換

function bubbleSort($arr){
  $len=count($arr);
  for($i=0;$i<$len-1;$i++){
    for($j=0;$j<len-1-$i;$j++){
      if($arr[$j]>$arr[$k+1]){
         $tmp=$arr[$k+1];
         $arr[$k+1]=$arr[$1];
         $arr[$k]=$tmp;
       }
    }
  }
  return $arr;
}

2.快速排序
從數列中挑選一個數作為基準元素液走,通常選擇第一個或者最后一個元素
掃描數列,以基準元素為比較對象外驱,把數列分成兩個區(qū)育灸,規(guī)則是:小的移動在基準元素的前面腻窒,大的移動在后面昵宇,相等的前后都可以。分區(qū)完成以后儿子,基準元素就處于數列中間位置
然后用同樣的方法瓦哎,遞歸的排列劃分的兩部分

function quickSort($arr){
  $len=count($arr);
  if($len<1){
    return false;
  }
  //選擇第一個元素作為基準元素
  $middle = $arr[0];
  //初始化小于中間的數組  
  $left=array();
  //初始化大于中間的數組
  $right=array();
  
  for($i=0; $i<count($arr);$i++){
    if( $middle < $arr[$i] ){
      //大于中間的值
      $right[]=$a[$i];
    } else{
      //小于中間的值
      $left[]=$a[$i];
    }
  }
   //遞歸排序
  $left=quickSort($left);
  $right=quickSort($right);
  //合并排序的數據
  return  array_merge($left,array($middle),$right); 
}

二分查找
二分查找算法也叫對半查找算法,二分查找的思想非常簡單,有點類似分治思想
二分查找針對的是一個有序的數據集合蒋譬,每次都通過跟中間元素對比
將帶查找的區(qū)間縮小為之前的一半割岛,直到查找到指定元素,或者區(qū)間被縮小為0

function biarySearch($arr,$findVal){
  $start=0;
  $end=count($arr)-1;
 while($start<=$end){
  $middle=intavl(($start+$end)/2);
  if($arr[$middle]>$findVal){
    //查找的數比中間數小犯助,所以在左邊
    //因為$middle已經對比過了癣漆,這里需要減1
    $end =$middle-1;
  }elseif($arr[$middle]<$findVal){
    //查找的數比中間的數大,所以在右邊
    //因為$middle已經對比過了剂买,這一需要加1
    $start=$middle+1;
  }else{
    //找到了
    return $middle;
  }
 }
  //未找到
  return  -1;
}
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末惠爽,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子瞬哼,更是在濱河造成了極大的恐慌婚肆,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,509評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件坐慰,死亡現場離奇詭異较性,居然都是意外死亡,警方通過查閱死者的電腦和手機结胀,發(fā)現死者居然都...
    沈念sama閱讀 92,806評論 3 394
  • 文/潘曉璐 我一進店門赞咙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人糟港,你說我怎么就攤上這事人弓。” “怎么了着逐?”我有些...
    開封第一講書人閱讀 163,875評論 0 354
  • 文/不壞的土叔 我叫張陵崔赌,是天一觀的道長。 經常有香客問我耸别,道長健芭,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,441評論 1 293
  • 正文 為了忘掉前任秀姐,我火速辦了婚禮慈迈,結果婚禮上,老公的妹妹穿的比我還像新娘省有。我一直安慰自己痒留,他們只是感情好,可當我...
    茶點故事閱讀 67,488評論 6 392
  • 文/花漫 我一把揭開白布蠢沿。 她就那樣靜靜地躺著伸头,像睡著了一般。 火紅的嫁衣襯著肌膚如雪舷蟀。 梳的紋絲不亂的頭發(fā)上恤磷,一...
    開封第一講書人閱讀 51,365評論 1 302
  • 那天面哼,我揣著相機與錄音,去河邊找鬼扫步。 笑死魔策,一個胖子當著我的面吹牛,可吹牛的內容都是我干的河胎。 我是一名探鬼主播闯袒,決...
    沈念sama閱讀 40,190評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼游岳!你這毒婦竟也來了搁吓?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,062評論 0 276
  • 序言:老撾萬榮一對情侶失蹤吭历,失蹤者是張志新(化名)和其女友劉穎堕仔,沒想到半個月后,有當地人在樹林里發(fā)現了一具尸體晌区,經...
    沈念sama閱讀 45,500評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡摩骨,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,706評論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現自己被綠了朗若。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片恼五。...
    茶點故事閱讀 39,834評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖哭懈,靈堂內的尸體忽然破棺而出灾馒,到底是詐尸還是另有隱情,我是刑警寧澤遣总,帶...
    沈念sama閱讀 35,559評論 5 345
  • 正文 年R本政府宣布睬罗,位于F島的核電站,受9級特大地震影響旭斥,放射性物質發(fā)生泄漏容达。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,167評論 3 328
  • 文/蒙蒙 一垂券、第九天 我趴在偏房一處隱蔽的房頂上張望花盐。 院中可真熱鬧,春花似錦菇爪、人聲如沸算芯。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽熙揍。三九已至,卻和暖如春近速,著一層夾襖步出監(jiān)牢的瞬間诈嘿,已是汗流浹背堪旧。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評論 1 269
  • 我被黑心中介騙來泰國打工削葱, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留奖亚,地道東北人。 一個月前我還...
    沈念sama閱讀 47,958評論 2 370
  • 正文 我出身青樓析砸,卻偏偏與公主長得像昔字,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子首繁,可洞房花燭夜當晚...
    茶點故事閱讀 44,779評論 2 354

推薦閱讀更多精彩內容

  • 題記: 常見的排序算法有:冒泡排序法作郭,快速排序法,選擇排序法弦疮,插入排序法夹攒,此處作為自己最近面試準備進行的學習筆記,...
    梅先森森森森森森閱讀 68評論 0 2
  • 題記: 常見的排序算法有:冒泡排序法胁塞,快速排序法咏尝,選擇排序法,插入排序法啸罢,此處作為自己最近面試準備進行的學習筆記编检,...
    泥豆芽兒MT閱讀 2,410評論 0 27
  • 常見比較排序1.冒泡排序2.選擇排序:簡單選擇排序和堆排序3.插入排序:直接插入排序和希爾排序4.快速排序5.歸并...
    Adonia汪閱讀 228評論 0 0
  • 1:冒泡排序 排序思路:在要排序的一組數中,對當前還未排好的序列扰才,從前往后對相鄰的兩個數依次進行比較和調整允懂,讓較大...
    宸風如蘇閱讀 164評論 0 0
  • 1 前言 2 排序基礎2.1 選擇排序2.2 插入排序 3 高級排序算法3.1 歸并排序3.1.1 插入排序與歸并...
    憩在河岸上的魚丶閱讀 445評論 0 2