ホームページ >ウェブフロントエンド >jsチュートリアル >js Exchange sort バブルソートアルゴリズム(JavaScript版)_javascriptスキル
隣接する要素を比較します。最初のものが 2 番目のものより大きい場合は、両方を交換します。
隣接する要素の各ペアに対して、最初のペアから始めて最後のペアで終わるまで、同じことを行います。この時点では、最後の要素が最大の数値である必要があります。
最後の要素を除くすべての要素に対して上記の手順を繰り返します。
比較する数値のペアがなくなるまで、要素の数を減らしながら上記の手順を繰り返します。
function sort(elements){ for(var i=0;i<elements.length-1;i++){ for(var j=0;j<elements.length-i-1;j++){ if(elements[j]>elements[j+1]){ var swap=elements[j]; elements[j]=elements[j+1]; elements[j+1]=swap; } } } } var elements = [3, 1, 5, 7, 2, 4, 9, 6, 10, 8]; console.log('before: ' + elements); sort(elements); console.log(' after: ' + elements);
効率:
時間計算量: 最良: O(n)、最悪: O(n^2)、平均: O(n^2)。
空間複雑さ: O(1)。
安定性: 安定しています。