【排序算法】

-module(sort).

-compile(export_all).

%%快速排序
qsort([]) -> [];
qsort([Pivot|T]) ->
qsort([X || X <- T,X < Pivot])
++ [Pivot] ++
qsort([X || X <-T,X >= Pivot]). %%冒泡排序
bubble_sort(L) -> bubble_sort(L,len(L)).
bubble_sort(L,1) -> L;
bubble_sort([H|T],N) ->
Result = bubble_once(H,T),
io:format("Result is ~p~n",[Result]),
bubble_sort(Result,N-1). bubble_once(H,[]) -> [H];
bubble_once(X,[H|T]) ->
if X > H ->
[H|bubble_once(X,T)];
true ->
[X|bubble_once(H,T)]
end. len([]) -> 0;
len([_H|T]) -> 1 + len(T). %%插入排序
insert_sort(L) -> insert_sort([],L).
insert_sort(L,[]) -> L;
insert_sort(L,[H|T]) ->
insert_sort(normal(H,L),T). normal(X,[]) -> [X];
normal(X,[H|T]) ->
if X > H ->
[H|normal(X,T)];
true ->
[X|[H|T]]
end.

最新文章

  1. 【LeetCode】#7 Reverse Integer
  2. winform 使用 ReportViewer做报表
  3. IOS第八天(7:UITableViewController新浪微博,cell 复用的简单写法优化和cell高度从模型中获取)
  4. 老毛桃安装Win8(哪里不会点哪里,so easy)
  5. Windows Server 2008 DNS服务器安装与配置
  6. SQLite中的日期基础
  7. 求数列的和 AC 杭电
  8. ecshop有关real_ip()你发现的问题
  9. RequireJS进阶(二)
  10. sublime模式下开启vim并修改esc
  11. Nginx设置alias实现虚拟目录 alias与root的用法区别
  12. C语言可变參函数的实现
  13. Python之面向对象三
  14. js三元表达式
  15. IntelliJ IDEA 2017 配置Tomcat 运行Web项目
  16. Vivado HLS初识---阅读《vivado design suite tutorial-high-level synthesis》(4)
  17. sqlserver 一键备份,异机还原脚本
  18. css声明的优先级
  19. 关于UbuntuMate的两个问题点:SSH问题处理与自启动项配置
  20. jquery仿移动端支付宝键盘

热门文章

  1. The expression being assigned to optional parameter `v2&#39; must be a constant or default value
  2. jtds链接SqlServer数据库(整合)
  3. 使用canvas制作的移动端color picker
  4. HashMap在高并发下引起的死循环
  5. ServicePointManager.ServerCertificateValidationCallback 冲突的解决
  6. javascript 对象属性的添加,删除,json对象和字符串转换方法等
  7. httpd.conf详细解释
  8. ubuntu16.04 ssh服无法远程连接解决办法
  9. SparkMLlib基础内容
  10. EffectiveJava(12)考虑实现Comparable接口