タグ

sortに関するjune29のブックマーク (2)

  • ランダムソート(笑)とは - 西尾泰和のはてなダイアリー

    誰が「ソートするときに比較関数に『ランダムに1か-1を返す関数』を与えたらシャッフルできる」って言い出したのかしらないけど、真に受ける方も真に受ける方だと思う。 たとえばソート関数が下のような「リストの先頭の値をピボットにしてそれより大きいものと小さいものに振り分けるクイックソート」だったとする。比較関数の所はランダムにしてある。 >>> def quicksort(xs): from random import random if len(xs) < 2: return xs pivot = xs[0] left = [] right = [] for x in xs[1:]: if random() < 0.5: left.append(x) else: right.append(x) return quicksort(left) + [pivot] + quicksort(right

    ランダムソート(笑)とは - 西尾泰和のはてなダイアリー
  • Karafuto Blog - 配列のソート(sortメソッド)

    配列を並び替えるには、Arrayオブジェクトの sortメソッドを使う。 引数が無ければ、文字コード順に並び替える。 比較関数が負の数を返す時は引数1が引数2より前の順に、正の数を返す時は引数1が引数2より後の順に並び替える。0を返す時は順序は変わらない。 文字コード順にソート var ary = ['mouse', 'cat', 'dog']; ary.sort(); alert(ary); // cat,dog,mouse 数値順にソート var ary = [5, 11, 3, 9, 7, 1]; ary.sort(function (a, b){return a - b;}); alert(ary); // 1,3,5,7,9,11 ランダムにソート var ary = [1, 2, 3, 4, 5, 6, 7]; ary.sort(function (){return Math.

    june29
    june29 2008/06/28
    ハッシュをソートするときは一度配列に入れてから
  • 1