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

public protocol MutableCollectionAlgorithms: MutableCollection
where SubSequence: MutableCollectionAlgorithms

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

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

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

    জটিলতা

    O( n )

    ঘোষণা

    @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