Algorithmes de collection mutable

public protocol MutableCollectionAlgorithms: MutableCollection
where SubSequence: MutableCollectionAlgorithms

Fournit des points de personnalisation pour les algorithmes MutableCollection .

Si elles étaient intégrées à la bibliothèque standard, ces exigences feraient simplement partie de MutableCollection . En attendant, vous pouvez déclarer la conformité d'une collection à MutableCollectionAlgorithms pour que ces points de personnalisation soient utilisés à partir d'autres algorithmes définis sur MutableCollectionAlgorithms .

  • Fait pivoter les éléments de la collection de sorte que l'élément du middle soit le premier.

    Complexité

    Sur )

    Déclaration

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

    Valeur de retour

    Le nouvel index de l'élément qui a été la première pré-rotation.

  • Déplace tous les éléments satisfaisant isSuffixElement dans un suffixe de la collection, en préservant leur ordre relatif, et renvoie le début du suffixe résultant.

    Complexité

    O(n) où n est le nombre d’éléments.

    Déclaration

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