Algoritma Koleksi yang Dapat Diubah

public protocol MutableCollectionAlgorithms: MutableCollection
where SubSequence: MutableCollectionAlgorithms

Memberikan poin penyesuaian untuk algoritma MutableCollection .

Jika dimasukkan ke dalam perpustakaan standar, persyaratan ini hanya akan menjadi bagian dari MutableCollection . Sementara itu, Anda dapat mendeklarasikan kesesuaian koleksi ke MutableCollectionAlgorithms agar titik penyesuaian ini dapat digunakan dari algoritme lain yang ditentukan pada MutableCollectionAlgorithms .

  • Memutar elemen koleksi sehingga elemen di middle berada di urutan pertama.

    Kompleksitas

    Pada )

    Pernyataan

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

    Nilai Pengembalian

    Indeks baru dari elemen yang merupakan pra-rotasi pertama.

  • Memindahkan semua elemen yang memenuhi isSuffixElement ke dalam sufiks koleksi, mempertahankan urutan relatifnya, dan mengembalikan awal sufiks yang dihasilkan.

    Kompleksitas

    O(n) dimana n adalah jumlah elemen.

    Pernyataan

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