Chinaunix

标题: 如何用Erlang实现"堆排序算法" [打印本页]

作者: erlangsir    时间: 2010-06-09 17:32
标题: 如何用Erlang实现"堆排序算法"
Erlang语言中变量不可变,而"堆排序算法"运行过程中,需要不断的修改数组的内容,感觉用Erlang这样的纯函数语言实现起来很困难,不知道大家有没有什么好的思路,先谢谢了。
作者: ypyf3000    时间: 2010-06-18 22:34
回复 1# erlangsir

Erlang不知道,给你个Haskell版本的快排参考一下吧:
  1. qsort :: (Ord a)=>[a]->[a]
  2. qsort [] = []
  3. qsort (x:xs) = qsort [a|a<-xs,a<=x] ++ [x] ++ qsort [a|a<-xs,a>x]
复制代码

作者: bs    时间: 2010-06-22 13:24
涉及修改的fp都不擅长,实现起来也是低效的




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2