[알고리즘] 버블 정렬

성준영·2022년 7월 25일
0
const bubbleSort = (array) => {
  let noSwaps = true; // 왼쪽 값이 오른쪽 값보다 작다면 swap을 하지 않는다
  for (let i = array.length; i > 0; i--) {
    noSwaps = true;
    for (let j = 0; j < i - 1; j++) {
      if (array[j] > array[j + 1]) {
        [array[j], array[j + 1]] = [array[j + 1], array[j]];
        noSwaps = false;
      }
    }
    if (noSwaps) break;
  }
  return array;
};

console.log(bubbleSort([3, 1, 56, 7, 8, 10, -1])); // [-1, 1,  3, 7, 8, 10, 56]
시간복잡도O(N)
BestO(N)
AverageO(N^2)
WorstO(N^2)
profile
기록해버리기

0개의 댓글