MutableCollectionAlgorithms

public protocol MutableCollectionAlgorithms: MutableCollection
where SubSequence: MutableCollectionAlgorithms

Fornece pontos de personalização para MutableCollection algoritmos.

Se incorporado na biblioteca padrão, esses requisitos seria apenas parte de MutableCollection . Enquanto isso, você pode declarar a conformidade de uma coleção para MutableCollectionAlgorithms para obter esses pontos de personalização a ser utilizado a partir de outros algoritmos definidos na MutableCollectionAlgorithms .

  • Gira os elementos da coleção para que o elemento no middle extremidades primeiro.

    Complexidade

    O (n)

    Declaração

    @discardableResult
    mutating mutating func rotate(shiftingToStart middle: Index) -> Index

    Valor de retorno

    O novo índice do elemento que foi a primeira pré-rotação.

  • Move todos os elementos que satisfazem isSuffixElement em um sufixo da coleção, preservando sua ordem relativa, e retorna o início do sufixo resultante.

    Complexidade

    O (n) onde n é o número de elementos.

    Declaração

    @discardableResult
    mutating func stablePartition(
      isSuffixElement: (Element) throws -> Bool
    ) rethrows -> Index