文書   >   Swift   >   Swift 標準ライブラリ  >     手動でメモリ管理   >   UnsafeMutableBufferPointer   >   partition(by:)


インスタンスメソッド


partition(by:)


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





宣言


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


パラメータ


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


戻り値


コレクションを分割した後、p の前の要素が belongsInSecondPartition の述語 (predicate) を満たさず、p 以降のすべての要素は belongsInSecondPartition を満たす先端のインデックス p があります。


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


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 の新機能

  • 言語:Swift
  • SDK
  • Xcode 10.0+

  • フレームワーク
  • Swift 標準ライブラリ
  • 宣言
  • パラメータ
  • 戻り値
  • 議論












  • トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ