Algoritmos de colección mutable

public protocol MutableCollectionAlgorithms: MutableCollection
where SubSequence: MutableCollectionAlgorithms

Proporciona puntos de personalización para los algoritmos MutableCollection .

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

  • Gira los elementos de la colección para que el elemento del middle termine primero.

    Complejidad

    En )

    Declaración

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

    Valor de retorno

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

  • partición estable(isSuffixElement:) Método de extensión

    Mueve todos los elementos que satisfacen isSuffixElement a un sufijo de la colección, conservando su orden relativo y devuelve el 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