인접한 요소를 비교합니다. 첫 번째 것이 두 번째 것보다 크면 둘 다 교환하세요.
첫 번째 쌍에서 시작하여 마지막 쌍으로 끝나는 인접한 요소의 각 쌍에 대해 동일한 작업을 수행합니다. 이때 마지막 요소가 가장 큰 숫자가 되어야 합니다.
마지막 요소를 제외한 모든 요소에 대해 위 단계를 반복합니다.
비교할 숫자 쌍이 더 이상 남지 않을 때까지 매번 점점 더 적은 수의 요소에 대해 위 단계를 반복합니다.
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).
안정성: 안정적입니다.