文書   >   Swift   >   Swift 標準ライブラリ  >     手動でメモリ管理   >   UnsafeBufferPointer   >   lexicographicallyPrecedes(_:by:)
汎用インスタンスメソッド
lexicographicallyPrecedes(_:by:)
与えられた述語 (predicate) を使用して要素を比較して、辞書の順序でシーケンスが別のシーケンスに先行するかどうかを示すブール値を返します。
宣言
throws -> Bool) rethrows -> Bool where OtherSequence : Sequence, Self.Element == OtherSequence.Element
パラメータ
other | このシーケンスに比較すべきシーケンス。 |
areInIncreasingOrder | 最初の引数をその 2 番目の引数の前に並べるべき場合に true を返す述語 (predicate)。それ以外の場合は false。 |
戻り値
areInIncreasingOrder で順序付けされた辞書の順序でこのシーケンスが other に先行する場合は true。それ以外の場合は false。
議論
述語 (predicate) は、要素に対して 厳密に弱い順序 でなければなりません。つまり、全ての要素 a、b、および c については、以下の条件が満たされされなければなりません。
このメソッドは、Unicode とは関係のない辞書の順序の数学的概念を実装しています。文字列を並べ替えてエンドユーザーに提示する場合は、代わりにローカライズされた比較を実行する StringAPI を使用して下さい。
複雑さ:O(m)、ここで m はシーケンスの長さと other の長さのうち小さい方です。
- areInIncreasingOrder(a, a) は常に false です。(非再帰性)
- areInIncreasingOrder(a, b) と areInIncreasingOrder(b, c) が共に true の時、areInIncreasingOrder(a, c) もまた true です。(推移比較可能性)
- どちらの要素も述語 (predicate) に従って other より前に順序付けられていない場合、2 つの要素は 比較できません。a と b が比較できず、b と c が比較できない場合、a と c も比較できません。(推移比較不能性)
トップへ
トップへ
トップへ
トップへ
トップへ