거품 정렬(bubble sort)
수정하기
문서 생성 2021-05-05 22:34:09 최근 수정 2021-10-02 10:23:02
- 정렬 알고리즘 중 하나인 거품 정렬은 원소의 이동이 거품이 수면으로 올라가는 듯한 모습과 비슷해서 붙여진 이름이다.
- 두 개의 인접한 자료 값을 비교하며 위치를 교환하는 방식으로 정렬하는 방법
복잡도
복잡도가 O(n²)
인 알고리즘으로 매우 느리지만 코드가 간단하여 자주 사용된다.
예제
[13, 5, 11, 7, 23, 15]
를 오름차순으로 정렬하기
JavaScript
function solution(arr) {let answer = arr;for(let i=0; i < arr.length-1; i++) {for(let j=0; j < arr.length-1-i; j++) {if(arr[j] > arr[j+1]) {[arr[j], arr[j+1]] = [arr[j+1], arr[j]];}}}return answer;}let arr = [13, 5, 11, 7, 23, 15];console.log(solution(arr));// while 사용function solution(arr) {let answerlet isSwap = truewhile(isSwap) {isSwap = falsefor(let i=0; i<arr.length-1; i++) {if(arr[i] > arr[i+1]) {[arr[i], arr[i+1]] = [arr[i+1], arr[i]]isSwap = true}}}answer = arrreturn answer;}let arr1 = [4, 30, 49, 11 ,5]console.log(solution(arr1))