MutableCollectionАлгоритмы

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