Bubble Sort

byungju0624·2020년 11월 6일
0
post-thumbnail

Bubble Sort란?

->앞에서부터 두개씩 바로 자기 옆에 있는 값과 비교해서 작은 값을 앞으로 큰 값을 뒤로 바꾸면서 전체 배열을 순회하면서 정렬하는 알고리즘이다. 거품이 올라오는 것과 같다고 해서 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]이 된다.
};

0개의 댓글