php的排序算法

  *对于算法来说,对于每个小伙伴来说都是比较头疼的,但是,为什么要学习算法?

  算法是基础,算法能够提升智力,我想这两点就值得我们花时间去学习了。不要放弃,实在不会,先死记硬背下来,以后慢慢理解,一下是我自己的总结排序算法:

  1.冒泡排序(buttle Sort)

 1 function buttleSort($arr){
 2     for($i=0; $i<count($arr); $i++){
 3         for($j=0; $j<count($arr)-$i-1; $j++){
 4             if($arr[$j] > $arr[$j+1]){
 5                 $temp = $arr[$j];
 6                 $arr[$j] = $arr[$j+1];
 7                 $arr[$j+1] = $temp;
 8             }
 9         }
10     }
11     return $arr;
12 }

  2.选择排序(select Sort)

 1 function selectionSort(){
 2     for($i=0; $i<count($arr)-1; $i++){
 3         $minIndex = $i;
 4         for($j=$i+1; $j<count($arr); $j++){
 5             if($arr[minIndex] > $arr[$j]){
 6                 $minIndex = $j;
 7             }
 8         }
 9         $temp = $arr[$i];
10         $arr[$i] = $arr[$minIndex];
11         $arr[$minIndex] = $temp;
12     }
13     return $arr;
14 }

  3.插入排序(insert Sort)

      

 1 function insertionSort($arr){
 2   for($i=1; $i<count($arr); $i++){
 3     $preIndex = $i-1;
 4     $current = $arr[$i];  
 5     while($preIndex >= 0 && $arr[$preIndex] > $current){
 6       $arr[$preIndex+1] = $arr[$preIndex];
 7       $preIndex--;
 8     }
 9     $arr[$preIndex+1] = $current;
10  }
11  return $arr;
12 }

  待续... ...


  1二分查找法:($arr是一个有序数列,返回$num在$arr中的索引值)

 1 function dichotomy($arr,$value){
 2     $min = 0;
 3     $max = count($arr) - 1; //5
 4     
 5     while(true){
 6         if($value > $arr[$max] || $value<$arr[$min]){
 7             return -1;
 8         }
 9         $cen = floor(($min+$max)/2);    
10         if($value > $arr[$cen]){
11             $min = $cen;
12         }elseif($value < $arr[$cen]){
13             $max = $cen;
14         }else{
15             return $cen;
16         }
17     }
18 }

** 如果有什么问题 请评论中回复,我会即使回复.谢谢。。。。

  • 添加到短语集
     
    • 没有此单词集:中文(简体) -> 英语...
       
    • 创建新的单词集...
  • 拷贝
  • 添加到短语集
     
    • 没有此单词集:英语 -> 中文(简体)...
       
    • 创建新的单词集...
  • 拷贝
  • 添加到短语集
     
    • 没有此单词集:中文(简体) -> 英语...
       
    • 创建新的单词集...
  • 拷贝
  • 添加到短语集
     
    • 没有此单词集:英语 -> 中文(简体)...
       
    • 创建新的单词集...
  • 拷贝
  • 添加到短语集
     
    • 没有此单词集:中文(简体) -> 英语...
       
    • 创建新的单词集...
  • 拷贝
原文地址:https://www.cnblogs.com/xuchuanbing/p/12145147.html