মিউটেবল কালেকশন অ্যালগরিদম

public protocol MutableCollectionAlgorithms: MutableCollection
where SubSequence: MutableCollectionAlgorithms

MutableCollection অ্যালগরিদমের জন্য কাস্টমাইজেশন পয়েন্ট প্রদান করে।

স্ট্যান্ডার্ড লাইব্রেরিতে অন্তর্ভুক্ত করা হলে, এই প্রয়োজনীয়তাগুলি শুধুমাত্র MutableCollection এর অংশ হবে। ইতিমধ্যে, আপনি MutableCollectionAlgorithms এ সংজ্ঞায়িত অন্যান্য অ্যালগরিদম থেকে এই কাস্টমাইজেশন পয়েন্টগুলি ব্যবহার করার জন্য MutableCollectionAlgorithms এ একটি সংগ্রহের সামঞ্জস্য ঘোষণা করতে পারেন।

  • সংগ্রহের উপাদানগুলিকে ঘোরায় যাতে middle উপাদানটি প্রথমে শেষ হয়৷

    জটিলতা

    চালু )

    ঘোষণা

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

    ফেরত মূল্য

    উপাদানটির নতুন সূচক যা প্রথম প্রি-রোটেশন ছিল।

  • stablePartition(isSuffixElement:) এক্সটেনশন পদ্ধতি

    isSuffixElement সন্তুষ্ট করে এমন সমস্ত উপাদানকে সংগ্রহের একটি প্রত্যয়ের মধ্যে নিয়ে যায়, তাদের আপেক্ষিক ক্রম সংরক্ষণ করে, এবং ফলে প্রত্যয়ের শুরু ফেরত দেয়।

    জটিলতা

    O(n) যেখানে n হল উপাদানের সংখ্যা।

    ঘোষণা

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