Javascript バブルソート

バブルソートとは

バブルソートはリストにおいて隣り合うふたつの要素の値を比較して条件に応じた交換を行う整列アルゴリズムである。今回は昇順・降順をJavaScriptで記述する。

配列データで後ろから前に向かって小さい値を確認する(昇順)

//ソート前の配列データ

var array01 = [30,20,9,77,5000,2,64,1,100];

 

調べる範囲の開始位置を1つずつ後ろへ移動するfor文

for(var i = 0; i < array01.length; i++){

    //後ろから前に向かって小さい値を確認するfor文

    for(var j = array01.length-1; j>i ; j– ){

        //隣りあう2つの値を比べて、後ろが小さければ交換する

        if(array01[j]<array01[j-1]){

            var tmp = array01[j];

            array01[j] = array01[j-1];

            array01[j-1] =tmp;

        }

        // console.log(array01)

    }

}

ソート後の配列の表示

console.log(array01);

 

配列データで前から後ろに向かって大きいので値を確認する(昇順)

 

//ソート前の配列データ

var array01 = [30,20,9,77,5000,2,64,1,100];

//調べる範囲の開始位置を1つずつ後ろへ移動するfor文

for(var i = 0; i < array01.length; i++){

    //前から後ろに向かって小さい値を確認するfor文

    for(var j = 0; j < array01.length ; j++ ){

        //隣りあう2つの値を比べて、前が大きければ交換する

        if(array01[j]>array01[j+1]){

            var tmp = array01[j];

            array01[j] = array01[j+1];

            array01[j+1] =tmp;

        }

        // console.log(array01)

    }

}

// ソート後の配列の表示

console.log(array01);

配列データで前から後ろに向かって大きい値を確認する(降順)

// 調べる範囲の開始位置を1つずつ後ろへ移動するfor文

for(var i = 0; i < array01.length; i++){

    //後ろから前に向かって大きい値を確認するfor文

    for(var j = array01.length-1; j>i ; j– ){

        //隣りあう2つの値を比べて、後ろが小さければ交換する

        if(array01[j-1]<array01[j]){

            var tmp = array01[j-1];

            array01[j-1] = array01[j];

            array01[j] =tmp;

        }

        // console.log(array01)

    }

}

// ソート後の配列の表示

 

console.log(array01);

コメント