본문 바로가기

C

[C언어] 버블 정렬 (Bubble Sort)

반응형

버블 정렬(Bubble Sort)은 이웃한 데이터들을 비교하여 가장 큰 데이터를 가장 뒤로 보내며 정렬하는 방식이다.

 

#include<stdio.h>

int main(void){

   int nums[] = {50, 100, 10, 20, 90, 40, 70, 80, 30};
   int tmp;
   int size = sizeof(nums) / sizeof(nums[0]);

   for(int i = size - 1; i > 0; --i){
      for(int j = 0; j < i; ++j){
         if(nums[j] > nums[j + 1]){   // 큰 수를 찾으면 바로 뒤의 index와 바꾼다.
            tmp = nums[j];
            nums[j] = nums[j + 1];
            nums[j + 1] = tmp;
         }
      }
      for(int j = 0; j < size; ++j){
         printf("%d ", nums[j]);
      }
      printf("\n");
   }

   printf("결과 : ");
   for(int i = 0; i < size; ++i)
      printf("%d%c", nums[i], (i < size - 1) ? ' ' : '\n');

   return 0;
}

 

반응형