2009-05-01から1ヶ月間の記事一覧

C言語でクイックソート

Cだといちいちめんどくさい。 #include <stdio.h> void quicksort(int array[], int left, int right) { int l = left; int r = right; int pivot = array[(left + right) / 2]; // 中央からピボットを選択 int buf; while (1) { while (array[l] < pivot) l++; while</stdio.h>…

PHPでクイックソートというものをやってみた

一般的に最も高速なソートのアルゴリズムらしい。 アルゴリズム 1. 適当な数(ピボットという)を選択する (この場合はデータの総数の中央値が望ましい) 2. ピボットより小さい数を前方、大きい数を後方に移動させる (分割) 3. 二分割された各々のデータ…

Prototype.jsのbind()がすること

バージョン1.6.0.3。 Function.prototype.bind() thisと引数の値を固定化した関数を返すメソッド。 第一引数にthisとなる値、第二引数以降に固定化する引数の値を指定する。 Function.prototypeを直接拡張している。 Object.extend(Function.prototype, { //…

Prototype.jsの$()がすること

確認したバージョンは1.6.0.3。 $() Prototype.jsで拡張したelementオブジェクト(の配列)を返す関数。 引数が複数の場合は、再帰的に自身を呼び出し配列にセット。その配列をreturn。 引数が一つで文字列であればidとみなしてelementオブジェクトを取得す…