public protocol MutableCollectionAlgorithms: MutableCollection
where SubSequence: MutableCollectionAlgorithms
Предоставляет точки настройки для алгоритмов MutableCollection
.
Если бы эти требования были включены в стандартную библиотеку, они были бы просто частью MutableCollection
. Тем временем вы можете объявить соответствие коллекции MutableCollectionAlgorithms
чтобы получить эти точки настройки для использования из других алгоритмов, определенных в MutableCollectionAlgorithms
.
Поворачивает элементы коллекции так, чтобы элемент в
middle
оказался первым.Сложность
На )Декларация
@discardableResult mutating mutating func rotate(shiftingToStart middle: Index) -> Index
Возвращаемое значение
Новый индекс элемента, который был первым перед ротацией.
Перемещает все элементы, удовлетворяющие
isSuffixElement
в суффикс коллекции, сохраняя их относительный порядок, и возвращает начало результирующего суффикса.Сложность
O(n), где n — количество элементов.Декларация
@discardableResult mutating func stablePartition( isSuffixElement: (Element) throws -> Bool ) rethrows -> Index