四種排序演算法PHP實現類

2021-07-03 08:41:35 字數 2225 閱讀 9370

四種排序演算法的php實現:

1) 插入排序(insertion sort)的基本思想是: 

每次將乙個待排序的記錄,按其關鍵字大小插入到前面已經排好序的子檔案中的適當位置,直到全部記錄插入完成為止。

2) 選擇排序(selection sort)的基本思想是: 

每一趟從待排序的記錄中選出關鍵字最小的記錄,順序放在已排好序的子檔案的最後,直到全部記錄排序完畢。

3) 氣泡排序的基本思想是: 

兩兩比較待排序記錄的關鍵字,發現兩個記錄的次序相反時即進行交換,直到沒有反序的記錄為止。

4) 快速排序實質上和氣泡排序一樣,都是屬於交換排序的一種應用。所以基本思想和上面的氣泡排序是一樣的。

參考:

下面是實現**:

<?php

/** *

* @author quanshuidingdang

* @edit

*/class sort

} /**

* 獲取排序結果

*/public function display()

/*** 初始化

** @param array

* @return bool

*/private function _init($config = array())

return false;

}//初始化成員變數

foreach ($config as $key => $val)

}//呼叫相應的成員方法完成排序

$method = $this->sort . $this->marker;

if ( ! method_exists($this, $method))

return false;

}if ( false === ($this->arr = $this->$method($this->arr)))

return false;

return true;

} /**

* 插入排序

* * @param array

* @return bool

*/private function insert_sort($arr)

return false;

}//具體實現

$count = count($arr);

for ($i = 1; $i < $count; $i++) }}

return $arr;

} /**

* 選擇排序

* * @param array

* @return bool

*/private function select_sort($arr)

return false;

}//具體實現

$count = count($arr);

for ($i = 0; $i < $count-1; $i++)

if ($min != $i)

}return $arr;

} /**

* 氣泡排序

* * @param array

* @return bool

*/private function bubble_sort($arr)

return false;

}//具體實現

$count = count($arr);

for ($i = 0; $i < $count; $i++) }}

return $arr;

} /**

* 快速排序

* * @param array

* @return bool

*/private function quick_sort($arr)

$left_arr = $this->quick_sort($left_arr);

$right_arr = $this->quick_sort($right_arr);

return array_merge($left_arr, array($key), $right_arr);

} /**

* 日誌記錄

*/private function _log($msg)

}/*end of file sort.php*/

/*location htdocs/sort.php */

PHP實現四種基本排序演算法

許多人都說演算法是程式的核心,演算法的好壞決定了程式的質量。作為乙個初級phper,雖然很少接觸到演算法方面的東西。但是對於基本的排序演算法還是應該掌握的,它是程式開發的必備工具。這裡介紹氣泡排序,插入排序,選擇排序,快速排序四種基本演算法,分析一下演算法的思路。許多人都說演算法是程式的核心,演算法...

PHP實現四種基本排序演算法

前提 分別用氣泡排序法,快速排序法,選擇排序法,插入排序法將下面陣列中的值按照從小到大的順序進行排序。arr 1,43,54,62,21,66,32,78,36,76,39 思路分析 在要排序的一組數中,對當前還未排好的序列,從前往後對相鄰的兩個數依次進行比較和調整,讓較大的數往下沉,較小的往上冒。...

PHP實現四種基本排序演算法

許多人都說演算法是程式的核心,演算法的好壞決定了程式的質量。作為乙個初級phper,雖然很少接觸到演算法方面的東西。但是對於基本的排序演算法還是應該掌握的,它是程式開發的必備工具。這裡介紹氣泡排序,插入排序,選擇排序,快速排序四種基本演算法,分析一下演算法的思路。前提 分別用氣泡排序法,快速排序法,...