Algorytmy MutableCollection

public protocol MutableCollectionAlgorithms: MutableCollection
where SubSequence: MutableCollectionAlgorithms

Zapewnia punkty dostosowywania dla algorytmów MutableCollection .

Jeśli zostaną włączone do biblioteki standardowej, wymagania te będą po prostu częścią MutableCollection . W międzyczasie możesz zadeklarować zgodność kolekcji z MutableCollectionAlgorithms , aby uzyskać te punkty dostosowywania do wykorzystania z innych algorytmów zdefiniowanych w MutableCollectionAlgorithms .

  • Obraca elementy kolekcji w taki sposób, że element middle kończy się jako pierwszy.

    Złożoność

    NA )

    Deklaracja

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

    Wartość zwracana

    Nowy indeks elementu, który był pierwszym przedobrotem.

  • stabilna partycja (isSuffixElement:) Metoda przedłużania

    Przenosi wszystkie elementy spełniające isSuffixElement do sufiksu kolekcji, zachowując ich względną kolejność, i zwraca początek wynikowego sufiksu.

    Złożoność

    O(n) gdzie n jest liczbą elementów.

    Deklaracja

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