文書   >   Swift   >   Array   >   partition(by:)


インスタンスメソッド


partition(by:)


与えられた述語に一致するすべての要素が、一致しないすべての要素の後になるように、コレクションの要素を並べ替えます。





宣言


mutating func partition(by belongsInSecondPartition: (Element) throws -> Bool) rethrows -> Int

パラメータ


belongsInSecondPartitionコレクションを分割するために使用される述語 (predicate)。この述語を満たすすべての要素は、それを満たさないすべての要素の後に並べられます。


戻り値


belongsInSecondPartition に一致する、並べ替えられたコレクション内の最初の要素のインデックス。コレクション内の要素が belongsInSecondPartition と一致しない場合、返されるインデックスはコレクションの endIndex と同じです。


議論


コレクションを分割した後、p の前に belongsInSecondPartition 述語を満たす要素がなく、p の要素あるいは以降のすべての要素が belongsInSecondPartition を満たす中心のインデックスpがあります。


以下の例では、数値の配列が、30 より大きい要素に一致する述語によって分割されています。


var numbers = [30, 40, 20, 30, 30, 60, 10]
let p = numbers.partition(by: { $0 > 30 })
// p == 5
// numbers == [30, 10, 20, 30, 30, 60, 40]


numbers 配列が 2 つの部分に配置されました。最初の部分、numbers[.. <p] は、30 より大きくない要素で構成されています。2 番目の部分、numbers[p ...] は、30 より大きい要素で構成されています。


let first = numbers[..<p]
// first == [30, 10, 20, 30, 30]
let second = numbers[p...]
// second == [60, 40]


複雑さ:O(n)、ここで n はコレクションの長さです。



以下も見よ





配列の要素を並べ替え

















トップへ












トップへ












トップへ












トップへ












トップへ
目次
Xcode の新機能

  • SDK
  • Xcode 10.0+
  • フレームワーク
  • Swift 標準ライブラリ

  • 宣言
  • パラメータ
  • 戻り値
  • 議論
  • 以下も見よ












  • トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)