Ds \ Deque :: apply()function是PHP中的内置函数, 用于通过执行回调函数定义的操作来更新Deque的值。
语法如下:
public Ds\Deque::apply( $callback ) : void
参数:该函数接受单个参数$ callback包含该函数的函数定义了要对双端队列的每个元素执行的操作。
返回值:此函数不返回任何值。
下面的程序说明了Ds \ Deque :: apply()PHP中的功能:
程序1:
<?php
  
// Declare deque
$deck = new \Ds\Deque([1, 2, 3, 4, 5, 6]);
  
echo ( "\nElements in the deque are\n" );
  
// Display the deque elements
print_r( $deck );
  
// Use apply() function to implement
// the operation
$deck ->apply( function ( $element ) { 
     return $element * 10; 
});
  
echo ( "\nUpdated elements in the deque\n" );
  
// Display the deque elements
print_r( $deck );
  
?>
输出如下:
Elements in the deque are
Ds\Deque Object
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
    [5] => 6
)
Updated elements in the deque
Ds\Deque Object
(
    [0] => 10
    [1] => 20
    [2] => 30
    [3] => 40
    [4] => 50
    [5] => 60
)
程式2:
<?php
  
// Declare deque
$deck = new \Ds\Deque([10, 20, 30, 40, 50, 60]);
  
echo ( "\nElements in the deque are\n" );
  
// Display the deque elements
print_r( $deck );
  
// Use apply() function to implement
// the operation
$deck ->apply( function ( $element ) { 
     return $element % 10; 
});
  
echo ( "\nUpdated elements in the deque\n" );
  
// Display the deque elements
print_r( $deck );
  
?>
输出如下:
Elements in the deque are
Ds\Deque Object
(
    [0] => 10
    [1] => 20
    [2] => 30
    [3] => 40
    [4] => 50
    [5] => 60
)
Updated elements in the deque
Ds\Deque Object
(
    [0] => 0
    [1] => 0
    [2] => 0
    [3] => 0
    [4] => 0
    [5] => 0
)
参考: http://php.net/manual/en/ds-deque.apply.php

![从字法上最小长度N的排列,使得对于正好为K个索引,a[i] a[i]+1](https://www.lsbin.com/wp-content/themes/begin%20lts/img/loading.png)