函数: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 中的元素被成功排序。