MutableCollectionAlgorithms

public protocol MutableCollectionAlgorithms: MutableCollection
where SubSequence: MutableCollectionAlgorithms

Proporciona puntos de personalización para MutableCollection algoritmos.

Si se incorporan a la biblioteca estándar, estos requisitos podrían simplemente ser parte de MutableCollection . Mientras tanto, se puede declarar la conformidad de una colección de MutableCollectionAlgorithms para obtener estos puntos de personalización para ser utilizados de otros algoritmos definidos en MutableCollectionAlgorithms .

  • Gira los elementos de la colección de modo que el elemento en middle extremos primero.

    Complejidad

    O (n)

    Declaración

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

    Valor devuelto

    El nuevo índice del elemento que fue la primera rotación previa.

  • stablePartition (isSuffixElement :)

    Método de extensión

    Mueve todos los elementos que satisfacen isSuffixElement en un sufijo de la colección, conservando su orden relativo, y vuelve al inicio del sufijo resultante.

    Complejidad

    O (n) donde n es el número de elementos.

    Declaración

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