忘れかけていたソートコード
1年に上たってからの投稿です。そもそも私自身、継続して物事をやるとか、ブログを書く、言語学習をする、といったことにあまりたけていないというか、継続能力がないのかもしれません。。。
それはさておき、ideoneのコード履歴を見ていあたら、面白いものが残してあったので記事にしたいと思います。
import std.stdio; import std.algorithm; import std.string; void main() { auto arr=[1,1,4,5,1,4]; auto dirt = sort!("a<b")(arr); foreach(def;dirt) { writef("%d ", def); } writeln(""); }
。。。うーん、きたないコードですね(笑)それはさておき、忘れかけていた配列のソートについて書きたいと思います。
この場合、出力として期待されるのは次の通りです。
1 1 1 4 4 5
つまり、sort!("a<b")
の部分で指定した条件によってソート順序が変更される、ということになります。
先ほどのコードは昇順ソートでした。では降順ソートはどうすればよいのかというと、
先ほどの部分をsort!("a<b")
にしてあげれば降順ソートとなって出力がなされます。
5 4 4 1 1 1
という具合です。