public protocol MutableCollectionAlgorithms: MutableCollection
where SubSequence: MutableCollectionAlgorithms
Fornisce punti di personalizzazione per gli algoritmi MutableCollection
.
Se incorporati nella libreria standard, questi requisiti farebbero semplicemente parte di MutableCollection
. Nel frattempo, puoi dichiarare la conformità di una raccolta a MutableCollectionAlgorithms
per ottenere che questi punti di personalizzazione vengano utilizzati da altri algoritmi definiti su MutableCollectionAlgorithms
.
Ruota gli elementi della raccolta in modo che l'elemento al
middle
finisca per primo.Complessità
SU )Dichiarazione
@discardableResult mutating mutating func rotate(shiftingToStart middle: Index) -> Index
Valore restituito
Il nuovo indice dell'elemento che è stato il primo a effettuare la prerotazione.
Sposta tutti gli elementi che soddisfano
isSuffixElement
in un suffisso della raccolta, preservandone l'ordine relativo, e restituisce l'inizio del suffisso risultante.Complessità
O(n) dove n è il numero di elementi.Dichiarazione
@discardableResult mutating func stablePartition( isSuffixElement: (Element) throws -> Bool ) rethrows -> Index