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