public protocol MutableCollectionAlgorithms: MutableCollection
where SubSequence: MutableCollectionAlgorithms
מספק נקודות התאמה אישית עבור אלגוריתמים MutableCollection
.
אם ישולבו בספרייה הסטנדרטית, דרישות אלה יהיו רק חלק מ- MutableCollection
. בינתיים, אתה יכול להצהיר על התאמה של אוסף ל- MutableCollectionAlgorithms
כדי לקבל נקודות התאמה אישית אלו לשימוש מאלגוריתמים אחרים המוגדרים ב- MutableCollectionAlgorithms
.
מסובב את רכיבי האוסף כך שהאלמנט
middle
יסתיים ראשון.מוּרכָּבוּת
O( n )הַצהָרָה
@discardableResult mutating mutating func rotate(shiftingToStart middle: Index) -> Index
ערך החזרה
האינדקס החדש של האלמנט שהיה הראשון לפני הסיבוב.
מעביר את כל הרכיבים העונים על
isSuffixElement
לסיומת של האוסף, שומר על הסדר היחסי שלהם, ומחזיר את ההתחלה של הסיומת שנוצרה.מוּרכָּבוּת
O(n) כאשר n הוא מספר האלמנטים.הַצהָרָה
@discardableResult mutating func stablePartition( isSuffixElement: (Element) throws -> Bool ) rethrows -> Index