MutableCollection 알고리즘

컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
public protocol MutableCollectionAlgorithms: MutableCollection
where SubSequence: MutableCollectionAlgorithms

에 대한 사용자 정의 포인트를 제공 MutableCollection 알고리즘.

표준 라이브러리에 통합하는 경우, 이러한 요구 사항은 단지의 일부가 될 것입니다 MutableCollection . 한편, 당신은에 컬렉션의 적합성을 선언 할 수 있습니다 MutableCollectionAlgorithms 이러한 사용자 정의 점에 정의 된 다른 알고리즘에서 사용하는 얻을 MutableCollectionAlgorithms .

  • 회전되도록 소자의 컬렉션의 구성 요소 middle 단부가 제.

    복잡성

    O (N)

    선언

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

    반환 값

    첫 번째 사전 회전된 요소의 새 인덱스입니다.

  • 만족하는 모든 요소 이동 isSuffixElement 컬렉션의 접미사에 상대적인 순서를 유지, 반환 결과 접미사의 시작을.

    복잡성

    O(n) 여기서 n은 요소 수입니다.

    선언

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