タグ

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

  • Perlによる、『オンデマンド順指定ソート』の実現 - web style

    ここで紹介する方法は、Perlを用いたソート処理です。単純なソート処理ではなく、その都度任意の順位でソート順を指定する事ができる、言わば『オンデマンド順指定ソート』です。 テキスト処理を記述していると、ソートを行う事があります。Perlにはsort()と言う組み込み関数があり、通常sort()関数を単純に呼び出したり、ソート順序を決定するためのルーチンを記述する事で任意のソート順序を指定する事ができます。 Perl 5.6以前はクイックソートアルゴリズムが採用されていました。クイックソートは多くの場合で高速なソートですが、同一キーを持つレコードが複数存在する場合、読み込まれた順に出力されるとは限らない『不安定』なソートアルゴリズムです。 Perl 5.8以降はマージソートアルゴリズムが採用されました。単純に考えると、マージソートは高速な部類に入るアルゴリズムではありませんが、Perlが採用

  • プログラムのセカイ » [Perl]ハッシュのソート方法一覧

    Perlでのハッシュソート方法をメモメモ。 文字コードはUTF-8です。 use strict; use warnings; use utf8; use Encode qw/encode/; my %hash = ( c => 'bb', d => 'aa', a => 'dd', b => 'cc', ); # ハッシュのキーで文字列昇順ソート print encode('UTF-8', "ハッシュのキーで文字列昇順ソート\n"); foreach my $key (sort keys %hash) { print "$key, $hash{$key}\n"; } # ハッシュのキーで文字列降順ソート print encode('UTF-8', "ハッシュのキーで文字列降順ソート\n"); foreach my $key (sort {$b cmp $a} keys %hash) { p

  • JavaScriptで配列をソートする - もやもやエンジニア

    最近ネタがないのでJavaScriptの小ネタでも。 配列を並び替えるメソッドで[sort]が用意されています。 var ARY = ['ichi','ni','san','shi','go']; ARY = ARY.sort(); console.log(ARY); このようなコードを実行すると以下のように出力されます。 > ["go", "ichi", "ni", "san", "shi"] sortによって配列の中身がアルファベットの昇順で並び替えられていますね。 では数値でやるとどうなるでしょうか。 var ARY = [5,1,3,4,2]; ARY = ARY.sort(); console.log(ARY); > [1, 2, 3, 4, 5] 値の昇順になりました・・・・が、これには罠があります。以下のようにするとどうなるでしょうか。 var ARY = [5,10,3,1

    JavaScriptで配列をソートする - もやもやエンジニア
  • 1