1. 程式人生 > >Erlang演算法一章:快速排序

Erlang演算法一章:快速排序

Erlang演算法一章:快速排序

快速排序演算法

快速排序的核心思想是分而治之,①把陣列列表根據某一取值分成兩段,左邊都比中間值小,右邊都比中間大,再對左右兩邊執行①操作即可。
用Erlang語言描述比較簡單,如下新建q_sort模組,函式如下:

quick_sort([]) -> [];
quick_sort([MidVal | T]) ->
	quick_sort([X || X <- T, X < MidVal]) ++ [MidVal] ++ quick_sort([X || X <- T, X >= MidVal]).

編譯後,啟動Erlang shell,
執行:q_sort:quick_sort([1,4,3,4]).
結果:[1,3,4,4].
至此快速排序結束