Posted at 2007.10.05,Fri
さてさて、選択ソートです。
最小値を選択ってところがミソですね。
しかし、Cをはじめとして、新しい言語にも swap が存在しないのはなんで?
ソートを試してみる
001: var count = 10;
002: var nums = new Array(count);
003:
004: // 適当な数値で初期化 ( 重複OK )
005: if (var c = 0; c < count; c++) {
006: nums[c] = Math.floor((Math.random() * 100) % 100);
007: }
008:
009: for (var c = 0; c < count; c++) {
010: // 最小値を選択する
011: var min = c;
012: for (var n = c + 1; n < count; n++) {
013: if (nums[min] > nums[n]) {
014: min = n;
015: }
016: }
017: var x = nums[c];
018: nums[c] = nums[min];
019: nums[min] = x;
020: }
最小値を選択ってところがミソですね。
しかし、Cをはじめとして、新しい言語にも swap が存在しないのはなんで?
0
1
2
3
4
5
ソートを試してみる
PR
Posted at 2007.10.04,Thu
午後対策?として、ソートアルゴリズムの実装にトライしていきます。
言語は都合により、JavaScript です。
ブログを書く環境 ( テキストエディタとブラウザ ) があれば、実装・デバッグできますしねぇ。楽ちんです♪
とりあえず、バブルソートから。
まぁ、こんな感じでしょうか。
私の実装のクセが結構出てますね。逆方向のループは直感的じゃないので嫌い。
なので、降順にソートしたものを逆方向に並べることで昇順に並べてます。
混乱しないでね。
ソートを試してみる
言語は都合により、JavaScript です。
ブログを書く環境 ( テキストエディタとブラウザ ) があれば、実装・デバッグできますしねぇ。楽ちんです♪
とりあえず、バブルソートから。
001: var count = 10;
002: var nums = new Array(count);
003:
004: // 適当な数値で初期化 ( 重複OK )
005: if (var c = 0; c < count; c++) {
006: nums[c] = Math.floor((Math.random() * 100) % 100);
007: }
008:
009: for (var c = 0; c < count; c++) {
010: for (var n = 0; n < count - c - 1; n++) {
011: if (nums[n] > nums[n + 1]) {
012: var x = nums[n];
013: nums[n] = nums[n + 1];
014: nums[n + 1] = x;
015: }
016: }
017: }
まぁ、こんな感じでしょうか。
私の実装のクセが結構出てますね。逆方向のループは直感的じゃないので嫌い。
なので、降順にソートしたものを逆方向に並べることで昇順に並べてます。
混乱しないでね。
0
1
2
3
4
5
ソートを試してみる