特定のクラスの色を変更するjavascript

11月 7th, 2007 admin

セルの数が1000個ぐらいのテーブルがあって、その中のマイナスの数字だけ色を赤色にしたかった。
phpで書き出しているので、そっちでspanで囲ったりするようにしても良いのだがスマートじゃない。
幸い数字の入ったセルには右寄せをするためにclass=”num”というのが入っており、prototype.jsも使える

var nums = document.getElementsByClassName('num');
var ret = nums.findAll(
    function(val,key){
        if(val.innerHTML.substr(0,1) == "-"){
              Element.addClassName(val,'clrblue');
        }
    }
);

phpMyAdmin-2.11.2のインストールができない

11月 7th, 2007 admin

最近のphpMyAdminはインストール方法が変わったから使ってないという人は僕だけじゃないはず。
1時間ほど悩んだあげく解説してあるページを見つけた・・・(それでもあの変なセットアップは使ってないけど)

DBOnline(データベースオンライン):phpMyAdminの使い方:phpMyAdmin2.8.0.3のインストール:インストールと設定

まず、「(phpMyAdminをインストールしたディレクトリ)\libraries\」ディレクトリにある「config.default.php」というファイルをコピーして「(phpMyAdminをインストールしたディレクトリ)」に入れて下さい。そしてこのファイルの名前を「config.inc.php」に変更して下さい。

コームソート

11月 6th, 2007 admin

次のソートに進みます。
今日はP17から。ソートには「安定性」という指標があるそうです。分かりにくい感じですが、本では「宛名書きソフト」を例に非常に分かりやすく説明してくれています。要するに「氏名を名でソートしてから性でソート」した場合に名のソート結果も保持してくれているのが安定したソート、そうでないのが不安定なソートということみたいです。

さて、今日コード書くコームソートというのはバブルソートの改良版のようなもので、バブルソートでは隣同士のデータを比較し1つずつ移動していくアルゴリズムだったものを隣同士ではなくある程度離れた(ギャップという)データを比較し交換していくというものです。

感覚的にもバブルソートよりはましなんだろうなという感じが伝わってきます。

require 'pp'
before = Time.now
t = Time.now
srand(t.sec ^ t.usec ^ Process.pid)

#ソートする要素数
Num = 10000

def combSort(sort)
	gap = Num
	while gap != 1
		gap = (gap * 10) / 13

		flag = true
		(Num-gap).times{|i|
			if sort[i] > sort[i+gap] then
				tmp = sort[i]
				sort[i] = sort[i+gap]
				sort[i+gap] = tmp
			end
		}
	end 

	return sort
end

#ランダムな値の入った配列を作成
sort = Array.new
Num.times{
	sort.push rand(Num)
}

#ソート前の出力
pp sort

sort = combSort(sort);

#ソート後の出力
pp sort

#処理時間
p Time.now - before

これで残るソートはあと3つ・・

※このシリーズは私がアルゴリズムとデータ構造を基礎から学ぶ記録です。全体の目次はこちらへ。