func partition(by: (Self.Element) -> Bool) -> Self.Index
func partition(by: (Self.Element) -> Bool) -> Self.Index
Self
conforms to BidirectionalCollection
.
Self
がBidirectionalCollection
に準拠する時に利用可能です。
Availability
Technology
belongsInSecondPartition
A predicate used to partition the collection. All elements satisfying this predicate are ordered after all elements not satisfying it. コレクションに仕切りをするのに使われる述部。この述部を満たす全ての要素は、それを満たさない全ての要素の後に並べられます。
The index of the first element in the reordered collection that matches belongs
. If no elements in the collection match belongs
, the returned index is equal to the collection’s end
.
並べ直されたコレクションの中の最初の要素のインデックス、それはbelongs
に合致します。コレクションの中の要素が1つもbelongs
に一致しないならば、返されるインデックスはコレクションのend
と等しいです。
After partitioning a collection, there is a pivot index p
where no element before p
satisfies the belongs
predicate and every element at or after p
satisfies belongs
.
コレクションを仕切った後、あるピボットインデックスp
があります、そこでp
の前の要素は1つもbelongs
述部を満たさず、そしてp
でのまたは後のあらゆる要素はbelongs
を満たします。
This operation isn’t guaranteed to be stable, so the relative ordering of elements within the partitions might change.
In the following example, an array of numbers is partitioned by a predicate that matches elements greater than 30. 次の例において、数からなる配列は、30より大きな要素に合致するという述部によって仕切られます。
The numbers
array is now arranged in two partitions. The first partition, numbers[..<p]
, is made up of the elements that are not greater than 30. The second partition, numbers[p...]
, is made up of the elements that are greater than 30.
numbers
配列は今や2つの区分に整頓されます。最初の区画、numbers[..<p]
は、30より大きくない要素から構成されます。2番目の区画、numbers[p...]
は、30より大きなものである要素から構成されます。
Note that the order of elements in both partitions changed. That is, 40
appears before 60
in the original collection, but, after calling partition(by:)
, 60
appears before 40
.
Complexity: O(n), where n is the length of the collection. 計算量:O(n)、ここでnはコレクションの長さです。
func partition(by: (Self.Element) -> Bool) -> Self.Index
func partition(by: (Self.Element) -> Bool) -> Self.Index
Self
conforms to BidirectionalCollection
.
Self
がBidirectionalCollection
に準拠する時に利用可能です。