2
Dart標準ライブラリにリストがソートされているかどうかをチェックする関数がありますか?リストがソートされているかどうかをチェックする通常の方法は何ですか?
もちろん、私は(異なる方法で)私の実装を簡単に行うことができますが、これは再帰的に必要な操作なので、List
APIの一部として、またはトップレベル関数またはアルゴリズムを他のライブラリで使用することができます。
Dart標準ライブラリにリストがソートされているかどうかをチェックする関数がありますか?リストがソートされているかどうかをチェックする通常の方法は何ですか?
もちろん、私は(異なる方法で)私の実装を簡単に行うことができますが、これは再帰的に必要な操作なので、List
APIの一部として、またはトップレベル関数またはアルゴリズムを他のライブラリで使用することができます。
ソートされているかどうかを直接確認する方法はありません。Iterable.fold
またはIterable.reduce
などから簡単に作成する方法はありません。 これは以前に要求された機能ではないため、プラットフォームライブラリに格納されているものである可能性は低いです。 package:collection
またはpackage:quiver
のようなパッケージに入れておく価値があります。ここで
は、使用できる機能です。
bool isSorted<T>(List<T> list, [int Function(T, T) compare]) {
if (list.length < 2) return true;
compare ??= (T a, T b) => (a as Comparable<T>).compareTo(b);
int prev = list.first;
for (var i = 1; i < list.length; i++) {
int next = list[i];
if (compare(prev, next) > 0) return false;
prev = next;
}
return true;
}
私は標準ライブラリでは何もないかなり確信しています。 –