[Javascript] JS Algorithm
3797 ワード
JSコードTaka
バブル整列(Bubble Sort)
コードカタ
numsという名前の配列をくれれば、Bubbleソートアルゴリズムで配列をソートします.
バブル整列(Bubble Sort)
Question
バブルソートは隣接データを交換することによってソートするアルゴリズムである.
これはアルゴリズムのソートが泡のように見えることから命名された.
下図を見てください.
アルゴリズムはすぐに理解できるかもしれません.
以下の位置合わせがない場合はidex 0<->1から交換を開始します.
2つの隣接する数字を比較し、より大きな数字を右側に移動します.
6 5 3 2 8
-> 5 6 3 2 8
そしてindex 1<->2
5 6 3 2 8
-> 5 3 6 2 8
そしてindex 2<->3
5 3 6 2 8
-> 5 3 2 6 8
そしてindex 3<>4
5 3 2 6 8
-> 5 3 2 6 8
最後の2つの数を比較すると、最大数が最後のindexにあることがわかります.
最初からやり直す.
5 3 2 6 8
-> 3 5 2 6 8
3 5 2 6 8
-> 3 2 5 6 8
3 2 5 6 8
-> 3 2 5 6 8
今回の両替はindex 2と比較して停止すればいいです.
最後のインデックスが最大数でソートされているためです.
このように比較と置き換えを続ければいい!
numsという名前の配列をくれれば、Bubbleソートアルゴリズムで配列をソートします.
My Answer
const bubbleSort = nums => {
for(let i=0; i<nums.length; i++){
for(let j=0; j<nums.length-i-1; j++){
if(nums[j] > nums[j+1]){
let temp = nums[j];
nums[j] = nums[j+1];
nums[j+1] = temp;
}
}
}
return nums;
}
Reference
この問題について([Javascript] JS Algorithm), 我々は、より多くの情報をここで見つけました https://velog.io/@limes/Javascript-JS-Algorithm-j9ya6jscテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol