خوارزميات المجموعة القابلة للتغيير

public protocol MutableCollectionAlgorithms: MutableCollection
where SubSequence: MutableCollectionAlgorithms

يوفر نقاط التخصيص لخوارزميات MutableCollection .

إذا تم دمجها في المكتبة القياسية، فستكون هذه المتطلبات مجرد جزء من MutableCollection . في غضون ذلك، يمكنك إعلان توافق مجموعة مع MutableCollectionAlgorithms للحصول على نقاط التخصيص هذه لاستخدامها من خوارزميات أخرى محددة في MutableCollectionAlgorithms .

  • يقوم بتدوير عناصر المجموعة بحيث ينتهي العنصر الموجود في middle أولاً.

    تعقيد

    على )

    تصريح

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

    قيمة الإرجاع

    الفهرس الجديد للعنصر الذي تم تدويره لأول مرة.

  • قسم مستقر (isSuffixElement :) طريقة التمديد

    ينقل كل العناصر التي تلبي isSuffixElement إلى لاحقة المجموعة، مع الحفاظ على ترتيبها النسبي، ويعيد بداية اللاحقة الناتجة.

    تعقيد

    O(n) حيث n هو عدد العناصر.

    تصريح

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