4月に基本情報技術者の試験を受けようと思っていて、基本情報技術者のテキストを買って勉強しています。
で、テキストに、「データの整列」という項目に、基本交換法(隣接交換法・バブルソート)という配列の整列方法が書かれていたので、JavaScriptで実装してみました。
昇順の場合
js_Array = new Array();
var js_dummy = ""; for(var i=js_Array.length; i>=2; i = i -1){ for(var j=0;j<i-1;j++){ if(parseInt(js_Array[j],10) > parseInt(js_Array[j+1],10)){ js_dummy = js_Array[j+1]; js_Array[j+1] = js_Array[j]; js_Array[j] = js_dummy; js_dummy = ""; } } } |
降順の場合
js_Array = new Array();
var js_dummy = ""; for(var i=js_Array.length; i>=2; i = i -1){ for(var j=0;j<i-1;j++){ if(parseInt(js_Array[j],10) < parseInt(js_Array[j+1],10)){ js_dummy = js_Array[j+1]; js_Array[j+1] = js_Array[j]; js_Array[j] = js_dummy; js_dummy = ""; } } } |
という形で作ることができます。
試しに10個乱数を発生させて並び替えをしました。
昇順 降順
ここで、基本交換法とは、同書によると
隣り合う要素を比較し、逆順であれば交換して、整列を行う方法
via:栢木先生の基本情報技術者教室:基本交換法
と書かれていて、読んで終わりにするのではなく、実際にプログラムすることでより理解できるようになりました^-^v
0 コメント:
コメントを投稿