【发布时间】:2025-12-15 20:15:01
【问题描述】:
尝试感受一下haskell。 我是一名经验丰富的 PHP、JAVA、VB 和许多其他语言的程序员,但我发现 haskell 有点难以理解。 谁能给我以下haskell函数的英文翻译,让我开始...
quicksort [] = []
quicksort (x:xs) = quicksort [y | y <- xs, y<x ]
++ [x]
++ quicksort [y | y <- xs, y>=x]
英文翻译的例子在下面的 cmets 中:
// --- FOR_LOOP ->
// --- $abc goes from 1 to 10 ->
// --- If $abc is even - print $abc is even ->
// --- else if $abc is odd - print $abc is odd ->
// --- END_FOR_LOOP
for( $abc = 1 ; $abc <= 10 ; $abc++ ){
if( $abc % 2 == 0 ){
echo $abc . " is even";
}
else{
echo $abc . " is odd";
}
}
第一行很简单,如下: “空列表上的函数快速排序会产生一个空列表作为结果”... 如果您可以将haskell 的其余部分翻译成英文,那将非常有帮助。
【问题讨论】:
-
我真的很喜欢在大学里和 Haskell 一起工作 - 出于某种原因,它对我很有吸引力。美好的回忆……
-
不错的答案小伙子们 - 这正是我想要的 - 干杯!
-
另外一个问题:这个算法的主要弱点是什么?
-
@Kathy:它没有就地排序。现在这确实感觉像学校:)
-
@Shaun:不,这只是效率低下。想想它在面对 [1..100] 时的行为。
标签: haskell