public protocol MutableCollectionAlgorithms: MutableCollection
where SubSequence: MutableCollectionAlgorithms
Cung cấp các điểm tùy chỉnh cho thuật toán MutableCollection
.
Nếu được tích hợp vào thư viện chuẩn, những yêu cầu này sẽ chỉ là một phần của MutableCollection
. Trong thời gian chờ đợi, bạn có thể khai báo sự tuân thủ của một bộ sưu tập đối với MutableCollectionAlgorithms
để sử dụng các điểm tùy chỉnh này từ các thuật toán khác được xác định trên MutableCollectionAlgorithms
.
Xoay các phần tử của bộ sưu tập sao cho phần tử ở
middle
kết thúc trước.Độ phức tạp
TRÊN )Tuyên ngôn
@discardableResult mutating mutating func rotate(shiftingToStart middle: Index) -> Index
Giá trị trả về
Chỉ mục mới của phần tử được xoay trước lần đầu tiên.
Di chuyển tất cả các phần tử thỏa mãn
isSuffixElement
vào một hậu tố của bộ sưu tập, giữ nguyên thứ tự tương đối của chúng và trả về phần bắt đầu của hậu tố kết quả.Độ phức tạp
O(n) trong đó n là số phần tử.Tuyên ngôn
@discardableResult mutating func stablePartition( isSuffixElement: (Element) throws -> Bool ) rethrows -> Index