
3.3 在不排序下取得順序
|
101
討論說明
Ordering
指令還有兩種用法。第一種是接受整數引數,限制輸出數目,指定
n
輸出前
n
個元素的順序,指定
-n
則輸出後
n
個元素的順序。當你不需對整個串列排序時,這使
得
Ordering
指令比
Sort
指令更好用。
第二種是同時接受整數引數及排列順序函數。
當取得串列排列順序後,建立排序版的串列便很容易了。
然而,即使不需輸出完整串列順序,
Ordering
與
Sort
指令使用比較函數的次數仍是相
同的。
以堆積(heap)進行此類運算應該會更有效率,但為了少數使用案例而更改演算法,放
棄將比較次數最小化的原則,似乎有點划不來。畢竟,即使是在我的筆記型電腦上,對
100 萬個元素執行