->앞에서부터 두개씩 바로 자기 옆에 있는 값과 비교해서 작은 값을 앞으로 큰 값을 뒤로 바꾸면서 전체 배열을 순회하면서 정렬하는 알고리즘이다. 거품이 올라오는 것과 같다고 해서 Bubble Sort란 이름을 지었다고 한다.
const bubbleSort = function (array) {
let temp;
// 배열의 마지막 전까지 반복
for(let i = 0; i < array.length-1; i++) {
// 배열의 길이에 -i를 해주고 -1을 해준 길이 만큼 반복
여기서 i는 위치가 확정된 갯수라고 보면 된다
for(let j = 0; j < array.length-i-1; j++) {
//배열의 j번째가 배열의 j+1이 클때
if(array[j] > array[j+1]) {
//temp에 array[j]에 해당하는 값을 할당 -> temp = array[0]-> 2
temp= array[j]
// 여기에서 array[j]에 해당하는 값을 array[j+1]로 할당-> 위치가 교체-> array[0] = array[1] -> [1,1,3]
array[j] = array[j+1]
//temp에 할당했던 array[j]에 해당하는 값을 array[j+1]에 할당 -> array[1] = temp
array[j+1] = temp
// 지금 temp는 2이므로 [1,2,3]의 순서로 재배치가 된다.
}
}
}
return array // 결과적으로 [2,1,3]의 배열은 [1,2,3]이 된다.
};