新JavaScript例文辞典

配列内のデータをソートする(バブルソート/交換法)

説明

ソート方法の1つにバブルソート/交換法があります。昇順ソートの場合、最初のデータと次のデータを比較し小さい場合入れ替えます。これをデータ数-1回繰り返します。なお、バブルソートは処理速度が遅いため大量のデータのソートには向いていません。

サンプルプログラム

var data = new Array(-30,10,5,-99,44,65,31,-78);
function sortData(data) {
for (var i=0; i<data.length-1; i++) {
for (var j=0; j<data.length-i-1; j++) {
if (data[j] > data[j+1]) {
var n = data[j];
data[j] = data[j+1];
data[j+1] = n;
}
}
}
}
document.write("ソート前:"+data.toString()+"<br>");
sortData(data);
document.write("ソート後:"+data.toString()+"<br>");
サンプルを実行
[戻る]