2008/02/02

基本交換法(隣接交換法・BubbleSort)について

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 コメント:

コメントを投稿