タグ

sortに関するyasufのブックマーク (3)

  • sort関数 - 配列の並べ替え - Perl入門ゼミ

    Perl › 関数 › here 配列を並べ替えるにはsort関数を使用します。第1引数には比較のためのコードブロックを渡します。昇順で並べ替える場合は$aを$bより先に記述し、降順で並べ替えるには$bを$aより先に記述します。比較演算子には数値として比較したい場合は<=>を使用し、辞書順で比較したい場合はcmpを使用します。コードブロックの直後にカンマがないことに注意してください。 # 昇順で並べ替え @sorted = sort { $a 演算子 $b } @array; # 降順で並べ替え @sorted = sort { $b 演算子 $a } @array; 並び替えのサンプル 数値の昇順で並べ替えるサンプルです。@numsは(2, 3, 5, 11)になります。 # 数値の昇順で並び替え my @nums = (5, 11, 3, 2); @nums = sort {$a <=

    sort関数 - 配列の並べ替え - Perl入門ゼミ
  • vectorをsortするときはiteratorを使う - nokunoの日記

    プログラミング練習で、TopCoderのSRM271 Div2を解きました。 250 CheckFunction配列の初期化子を使うと短く書ける。サンプルで数え間違えをしていてひやりとした。 class CheckFunction { public: int newFunction(string code) { int result = 0; int dashes[] = {6,2,5,5,4,5,6,3,7,6}; for (int i = 0; i int)code.size(); i++) { int index = (int)(code.at(i) - '0'); result += dashes[index]; } return result; } }; BlackWhitePlanecirclesが半径でソートされていないことに気づかずハマったり、vectorをsortするとき

  • 高速な安定ソートアルゴリズム "TimSort" の解説 - Preferred Networks Research & Development

    先日、TimSortというソートアルゴリズムが話題になりました。TimSortは、高速な安定ソートで、Python(>=2.3)やJava SE 7、およびAndroidでの標準ソートアルゴリズムとして採用されているそうです。 C++のstd::sort()よりも高速であるというベンチマーク結果1が話題になり(後にベンチマークの誤りと判明)、私もそれで存在を知りました。実際のところ、ランダムなデータに対してはクイックソート(IntroSort)ほど速くないようですが、ソートというシンプルなタスクのアルゴリズムが今もなお改良され続けていて、なおかつ人々の関心を引くというのは興味深いものです。 しかしながら、オリジナルのTimSortのコードは若干複雑で、実際のところどういうアルゴリズムなのかわかりづらいところがあると思います。そこで今回はTimSortのアルゴリズムをできるだけわかりやすく解

    高速な安定ソートアルゴリズム "TimSort" の解説 - Preferred Networks Research & Development
  • 1