public protocol MutableCollectionAlgorithms: MutableCollection
where SubSequence: MutableCollectionAlgorithms
จัดเตรียมจุดปรับแต่งสำหรับอัลกอริทึม MutableCollection
หากรวมอยู่ในไลบรารีมาตรฐาน ข้อกำหนดเหล่านี้จะเป็นส่วนหนึ่งของ MutableCollection
ในระหว่างนี้ คุณสามารถประกาศความสอดคล้องของคอลเลกชันกับ MutableCollectionAlgorithms
เพื่อให้คะแนนการปรับแต่งเหล่านี้นำไปใช้จากอัลกอริทึมอื่นที่กำหนดไว้ใน MutableCollectionAlgorithms
หมุนองค์ประกอบของคอลเลกชันเพื่อให้องค์ประกอบที่อยู่
middle
จบลงก่อนความซับซ้อน
บน )คำประกาศ
@discardableResult mutating mutating func rotate(shiftingToStart middle: Index) -> Index
ค่าส่งคืน
ดัชนีใหม่ขององค์ประกอบที่ถูกหมุนล่วงหน้าครั้งแรก
ย้ายองค์ประกอบทั้งหมดที่เป็นไปตาม
isSuffixElement
ไปยังส่วนต่อท้ายของคอลเลกชัน โดยคงลำดับที่เกี่ยวข้องไว้ และส่งคืนจุดเริ่มต้นของส่วนต่อท้ายที่เป็นผลลัพธ์ความซับซ้อน
O(n) โดยที่ n คือจำนวนองค์ประกอบคำประกาศ
@discardableResult mutating func stablePartition( isSuffixElement: (Element) throws -> Bool ) rethrows -> Index