버블 정렬(교환 정렬)이란?
이웃한 데이터들의 크고 작음을 따진 결과가 정렬 순서와 반대일 경우, 앞뒤의 데이터들의 순서를 바꾸어 데이터를 정렬하는 알고리즘
1 단계: '정렬되지 않은 부분'의 1번째 데이터와 2번째 데이터를 비교한다.
2 단계: 1번째 데이터 > 2번째 데이터라면, 두 값의 순서를 바꾼다.
3 단계: 데이터를 비교하기 시작할 위치를 뒤로 1칸 옮긴다.
function solution(arr) {
let answer = arr;
for (let i = 0; i < arr.length - 1; i++) {
for (let j = 0; j < arr.length - i - 1; 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));