Değişken Koleksiyon Algoritmaları

public protocol MutableCollectionAlgorithms: MutableCollection
where SubSequence: MutableCollectionAlgorithms

MutableCollection algoritmaları için özelleştirme noktaları sağlar.

Standart kütüphaneye dahil edilirse bu gereksinimler yalnızca MutableCollection bir parçası olacaktır. Bu arada, bu özelleştirme noktalarının MutableCollectionAlgorithms üzerinde tanımlanan diğer algoritmalardan kullanılmasını sağlamak için bir koleksiyonun MutableCollectionAlgorithms uygunluğunu beyan edebilirsiniz.

  • Koleksiyonun öğelerini, middle öğe ilk sırada yer alacak şekilde döndürür.

    Karmaşıklık

    Açık )

    beyan

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

    Dönüş Değeri

    İlk ön-döndürme olan öğenin yeni dizini.

  • isSuffixElement koşulunu sağlayan tüm öğeleri, göreceli sıralarını koruyarak koleksiyonun bir son ekine taşır ve elde edilen son ekin başlangıcını döndürür.

    Karmaşıklık

    O(n) burada n, eleman sayısıdır.

    beyan

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