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].
至此快速排序结束