😺
【アルゴリズム】バブルソート
バブルソートとは?
配列の要素を、先頭または末尾から1つずつ選び、隣の数と比較し、その数より大きい、または小さかったら並び替えていくソートです。そうして、ある要素を置くポジションをだんだんと固定させていくソートになります。
バブルソートのシンタックス
babble_sort.js
let arr = [1,3,2,5,6,4,2,10]
function babbleSort(arr) {
for (let i:number=0; i<array.length; i++){
for(let j:number=array.length; i<j; j--;){
if(array[j-1]>array[j]){
let tmp= array[j-1];
areay[j-1]= areay[j];
array[j] = tmp;
}
}
}
}
バブルソートの良さが活きるタイミング
正直あんまりわかってないです。
上記にあるようにバブルソートは、(n*n-1)/2回行うことになるので、実際の業務でバブルソートだけ使うという場面はなかなかないのかなと思います。
ただ、既にある程度情報が並び替えられていたりして、並び替えの回数が少ない場合にバブルソートを選択するというのはありそうです。
補足) わかりやすい記事
上記の記事の図がわかりやすかったです。
Discussion