自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

全面實現(xiàn)PHP排序算法

開發(fā) 后端 算法
插入排序、選擇排序、,冒泡排序,時間復(fù)雜度貌似都是 O(N2),文章這里詳細的介紹了實現(xiàn)PHP排序算法,希望對大家有幫助。

學(xué)習(xí)PHP時,你可能會遇到 PHP排序問題,這里將介紹 PHP排序問題的解決方法,在這里拿出來和大家分享一下。每年總是要隔三差五的看數(shù)據(jù)結(jié)構(gòu),每次總是覺得自己很多東西沒有學(xué)好,唉。

#T#今天貼剛使用php實現(xiàn)4的排序算法,另外堆排序和歸并排序沒有寫。插入排序、選擇排序、,冒泡排序,時間復(fù)雜度貌似都是 O(N2),所以實際意義不大,在實際測試中,我對3000個數(shù)組元素進行,這三種排序算法都需要花費80秒左右,而快速排序只需要8秒,差距確是比較大,有興趣的可以自己測試一下。下面我們就詳細的看看你PHP排序算法的實現(xiàn)吧。

  1. <? 
  2. //插入排序(一維數(shù)組)  
  3. function insert_sort($arr){  
  4. $countcount = count($arr);  
  5. for($i=1; $i<$count; $i++){  
  6. $tmp = $arr[$i];  
  7. $j = $i - 1;  
  8. while($arr[$j] > $tmp){  
  9. $arr[$j+1] = $arr[$j];  
  10. $arr[$j] = $tmp;  
  11. $j--;  
  12. }  
  13. }  
  14. return $arr;  
  15. }  
  16.  
  17.  
  18. //選擇排序(一維數(shù)組)  
  19. function select_sort($arr){  
  20. $countcount = count($arr);  
  21. for($i=0; $i<$count; $i++){  
  22. $k = $i;  
  23. for($j=$i+1; $j<$count; $j++){  
  24. if ($arr[$k] > $arr[$j])  
  25. $k = $j;  
  26. if ($k != $i){  
  27. $tmp = $arr[$i];  
  28. $arr[$i] = $arr[$k];  
  29. $arr[$k] = $tmp;  
  30. }  
  31. }  
  32. }  
  33. return $arr;  
  34. }  
  35.  
  36. //冒泡排序(一維數(shù)組)   
  37. function bubble_sort($array){   
  38. $countcount = count($array);   
  39. if ($count <= 0) return false;   
  40.  
  41. for($i=0; $i<$count; $i++){   
  42. for($j=$count-1; $j>$i; $j--){   
  43. if ($array[$j] < $array[$j-1]){   
  44. $tmp = $array[$j];   
  45. $array[$j] = $array[$j-1];   
  46. $array[$j-1] = $tmp;   
  47. }   
  48. }   
  49. }   
  50. return $array;   
  51. }   
  52.  
  53. //快速排序(一維數(shù)組)   
  54. function quick_sort($array){   
  55. if (count($array) <= 1) return $array;   
  56.  
  57. $key = $array[0];   
  58. $left_arr = array();   
  59. $right_arr = array();   
  60. for ($i=1; $i<count($array); $i++){   
  61. if ($array[$i] <= $key)   
  62. $left_arr[] = $array[$i];   
  63. else   
  64. $right_arr[] = $array[$i];   
  65. }   
  66. $left_arr = quick_sort($left_arr);   
  67. $right_arr = quick_sort($right_arr);   
  68.  
  69. return array_merge($left_arr, array($key), $right_arr);   
  70. }   
  71.  
  72. ?> 
責(zé)任編輯:田樹 來源: 博客
相關(guān)推薦

2018-06-22 08:35:46

軟件定義數(shù)據(jù)中心SDDC

2009-03-12 18:41:39

APC數(shù)據(jù)中心虛擬化

2017-08-22 08:13:30

BarracudaAWS S3Amazon

2009-11-10 14:43:34

VB.NET隱藏控件

2024-08-30 14:34:00

2015-03-19 15:13:20

PHP基本排序算法代碼實現(xiàn)

2009-11-16 16:17:45

PHP數(shù)組排序

2009-05-13 10:05:59

Windows7微軟D-Lin

2009-12-07 13:50:10

PHP函數(shù)shuffl

2009-11-30 18:59:52

PHP數(shù)組排序

2009-11-24 10:31:22

PHP函數(shù)sort()

2014-05-30 09:08:42

排序算法測試

2021-03-04 07:24:28

排序算法優(yōu)化

2022-05-17 12:23:25

排序算法面試

2009-08-19 09:42:34

F#并行排序算法

2023-05-08 07:55:05

快速排序Go 語言

2022-11-01 18:29:25

Go語言排序算法

2012-08-09 09:11:32

PHP超時
點贊
收藏

51CTO技術(shù)棧公眾號