sort { $a <=> $b } @numbers是怎么进行排序的?

sort { $a <=> $b } @numbers是怎么进行排序的?

sort { $a <=> $b } @numbers

我打印了一下
好像是把一个元素赋给b,把第二个元素赋给a
为什么是这样呢?
怪怪的。
是从小到大排序,感觉和C语言的STL中的qsort函数有点像
的确很像qsort, 模式是相似的

$a<=>$b:
$a < $b return -1
$a = $b return 0
$a > $b return 1
关键是怎么取值的

感觉好像是首先$a取第二个元素,$b取第一个元素,再往下我就判断不了了。


QUOTE:
原帖由 welcome008 于 2007-9-27 14:11 发表
关键是怎么取值的

感觉好像是首先$a取第二个元素,$b取第一个元素,再往下我就判断不了了。

你要学过排序算法的话,就不会这么问了。
找本算法书看看吧。