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