shouchengcheng
just do it

Erlang程序设计中文版.pdf

快速排序

qsort([])->[];
qsort([Pivot|T])->
qsort([X||X<-T,X<Pivot])
++{Pivot]++
qsort([X||X<-T,X>=Pivot]).
View Code

 

[X||X<-T,X<Pivot].
%这句的功能是在T列表中找出比Pivot小的数

[X||X<-T,X>=Pivot].
%这句的功能是在T列表中找出比Pivot大或者相等的数

++[Pivot]++
%把Pivot插入到列表中,前面是比Pivot小的,后面是比Pivot大或者等于的

 

这样使用++,一般而言不是一个良好的编程习惯。这里没有考虑程序效率问题。

 

毕达哥拉斯三元组

毕达哥拉斯三元组是一个整数集合{A,B,C},它使得A*A+B*B=C*C。

pythag(N)->
[{A,B,C}||
A<-lists:seq(1,N),
B<-lists:seq(1,N),
C<-lists:seq(1,N),
A+B+C=<N,
A*A+B*B=:=C*C
].

 

posted on 2014-01-29 11:01  shouchengcheng  阅读(456)  评论(0编辑  收藏  举报