PHP - Ds Deque::sorted() 函数



PHP 的 Ds\Deque::sorted() 函数用于检索当前双端队列的排序副本。为此,该函数使用一个可选的比较器,这是一个比较函数。

如果第一个参数小于、等于或大于第二个参数,则该函数返回一个小于、等于或大于零的整数。

语法

以下是 PHP Ds\Deque::sorted() 函数的语法:

public Ds\Deque::sorted(callable $comparator = ?): Ds\Deque 

参数

此函数接受一个名为“comparator”的可选参数,该参数是一个函数,如下所述:

  • comparator - 比较函数必须返回一个整数。

返回值

此方法返回双端队列的排序副本。

示例 1

以下是 PHP Ds\Deque::sorted() 函数的基本示例:

<?php
   $deque = new \Ds\Deque(['c', 'e', 'a', 'b', 'd']);
   echo "The original deque: \n";
   print_r($deque);
   echo "The sorted copy of a deque: \n";
   #using sorted() function
   print_r($deque->sorted());
?>

输出

以上程序产生以下输出:

The original deque:
Ds\Deque Object
(
    [0] => c
    [1] => e
    [2] => a
    [3] => b
    [4] => d
)
The sorted copy of a deque:
Ds\Deque Object
(
    [0] => a
    [1] => b
    [2] => c
    [3] => d
    [4] => e
)

示例 2

以下是 PHP Ds\Deque::sorted() 函数的另一个示例。我们使用此函数来检索此双端队列 ([4, 2, 1, 5, 3]) 的排序副本:

<?php
   $deque = new \Ds\Deque([4, 2, 1, 5, 3]);
   echo "The original deque: \n";
   print_r($deque);
   echo "The sorted copy of a deque: \n";
   print_r($deque->sorted(function($first, $second) {
       return $first <= $second;
   }));
?>

输出

执行上述程序后,将显示以下输出:

The original deque:
Ds\Deque Object
(
    [0] => 4
    [1] => 2
    [2] => 1
    [3] => 5
    [4] => 3
)
The sorted copy of a deque:
Ds\Deque Object
(
    [0] => 5
    [1] => 4
    [2] => 3
    [3] => 2
    [4] => 1
)

示例 3

在下面的示例中,我们使用 sorted() 函数检索此双端队列(["by", "bear", "blank", "brass", "bark"]) 的排序副本,如下所示:

<?php
   $deque = new \Ds\Deque(["by", "bear", "blank", "brass", "bark"]);
   echo "The original deque: \n";
   print_r($deque);
   echo "The sorted copy of a deque: \n";
   print_r($deque->sorted());
?>

输出

执行上述程序后,它将生成以下输出:

The original deque:
Ds\Deque Object
(
    [0] => by
    [1] => bear
    [2] => blank
    [3] => brass
    [4] => bark
)
The sorted copy of a deque:
Ds\Deque Object
(
    [0] => bark
    [1] => bear
    [2] => blank
    [3] => brass
    [4] => by
)
广告