버블 정렬 알고리즘
: 첫번째 원소와 두번째 원소를 검사하여 크기 순이 아니면 바꿔준다. 가장 큰 값(Bubble
)이 배열의 끝에 가게된다.
배열의 끝에 가게되면, 배열이 순차적으로 정렬될때까지 다시 반복한다.
당연히 sort 메소드를 사용하면 안된다.
complexity를 고려하자!
두가지 추가 옵션
1. 만약에 요소들이 바뀌지 않았다면, 정렬됬다고 판단하고 미리 함수를 끝낼 수 있다.
2. 매번 모든 요소들을 반복해서 확인해야할까?
var bubbleSort = function(arr) {
let big;
let small;
arr.forEach(() => {
for(let i = 0; i<arr.length; i++){
if(arr[i] > arr[i+1]){
big = arr[i]
small = arr[i+1]
arr[i] = small
arr[i+1] = big
}
}
});
return arr;
};
complexity 내용을 조금 더 알고가자