函式:Ds\Sequence::sort()
適用版本:Ds extension 1.2.0 或更高版本
用法: Ds\Sequence::sort() 函式用於對當前序列進行排序。排序是在原序列的基礎上進行的,不會建立新的序列。
語法: public function sort(callable $comparator = null): void
引數:
- $comparator(可選):排序比較器函式。它接受兩個引數,分別代表兩個元素,返回一個整數表示它們的相對順序。如果未提供比較器函式,則預設使用內部的比較邏輯進行排序。
返回值:無返回值。
示例:
// 建立一個新的序列
$sequence = new Ds\Vector([3, 1, 2]);
// 使用預設排序比較器進行排序
$sequence->sort();
print_r($sequence);
/* 輸出:
Ds\Vector Object
(
[0] => 1
[1] => 2
[2] => 3
)
*/
// 使用自定義比較器進行排序
$sequence->sort(function ($a, $b) {
return $b - $a;
});
print_r($sequence);
/* 輸出:
Ds\Vector Object
(
[0] => 3
[1] => 2
[2] => 1
)
*/
上述示例中,我們首先建立了一個新的序列 $sequence,並且包含了無序的整數元素。然後,我們呼叫 $sequence 的 sort() 方法,使用預設排序比較器進行排序。排序後的結果會直接作用於 $sequence。最後,我們再次呼叫 sort() 方法,並傳入一個自定義的比較器函式,用於實現逆序排序。根據示例中的輸出結果可以看出,$sequence 中的元素被成功排序。