您好,欢迎访问一九零五行业门户网

全面实现PHP排序算法_PHP教程

学习php时,你可能会遇到 php排序问题,这里将介绍 php排序问题的解决方法,在这里拿出来和大家分享一下。每年总是要隔三差五的看数据结构,每次总是觉得自己很多东西没有学好,唉。
今天贴刚使用php实现4的排序算法,另外堆排序和归并排序没有写。插入排序、选择排序、,冒泡排序,时间复杂度貌似都是 o(n2),所以实际意义不大,在实际测试中,我对3000个数组元素进行,这三种排序算法都需要花费80秒左右,而快速排序只需要8秒,差距确是比较大,有兴趣的可以自己测试一下。下面我们就详细的看看你php排序算法的实现吧。 //插入排序(一维数组)  function insert_sort($arr){  $countcount = count($arr);  for($i=1; $i$count; $i++){  $tmp = $arr[$i];  $j = $i - 1;  while($arr[$j] > $tmp){  $arr[$j+1] = $arr[$j];  $arr[$j] = $tmp;  $j--;  }  }  return $arr;  }    //选择排序(一维数组)  function select_sort($arr){  $countcount = count($arr);  for($i=0; $i$count; $i++){  $k = $i;  for($j=$i+1; $j$count; $j++){  if ($arr[$k] > $arr[$j])  $k = $j;  if ($k != $i){  $tmp = $arr[$i];  $arr[$i] = $arr[$k];  $arr[$k] = $tmp;  }  }  }  return $arr;  }   //冒泡排序(一维数组)   function bubble_sort($array){   $countcount = count($array);   if ($count = 0) return false;    for($i=0; $i$count; $i++){   for($j=$count-1; $j>$i; $j--){   if ($array[$j]  $array[$j-1]){   $tmp = $array[$j];   $array[$j] = $array[$j-1];   $array[$j-1] = $tmp;   }   }   }   return $array;   }    //快速排序(一维数组)   function quick_sort($array){   if (count($array) = 1) return $array;    $key = $array[0];   $left_arr = array();   $right_arr = array();   for ($i=1; $icount($array); $i++){   if ($array[$i] = $key)   $left_arr[] = $array[$i];   else   $right_arr[] = $array[$i];   }   $left_arr = quick_sort($left_arr);   $right_arr = quick_sort($right_arr);    return array_merge($left_arr, array($key), $right_arr);   }    ?> 
http://www.bkjia.com/phpjc/446512.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/446512.htmltecharticle学习php时,你可能会遇到 php排序问题,这里将介绍 php排序问题的解决方法,在这里拿出来和大家分享一下。每年总是要隔三差五的看数据...
其它类似信息

推荐信息