본문 바로가기

개발/algorithm

[C/C++][algorithm] 버블정렬

반응형

버블 정렬 : 인접한 원소를 비교하여 큰 수를 뒤로 보냄 

 

1 6 4 3 

1 6 4

1 4 6 3

1 4 3 6 6확정 

 

1 4 3 6 

1 4 3 6

1 3 4 6 4확정 

 

1 3 4 6 

1 3 4 6 13확정

 

구현

 

#include <stdio.h>

int main() {
  int n, data[100];
  
  scanf("%d", &n);
  for(int i =0; i<n; i++){ scanf("%d", data[i]);}

  for(int i = 0; i<n ; i ++){
    for(int j = i ; j < n ; j ++){
      //i=0 이면 j = 0~n
      //i=1 이면 j = 1~n
      //i=2 이면 j = 2~n
      if(data[j+1] > data[j]){
          int temp ;
          temp = data[j];
          data[j] = data[j+1];
          data[j+1] = temp;
      }
    }
  }
  
  for(int i=0; i<n; i++){ printf("%d", data[i]);}
  
  return 0;
}

 

 

 

 

반응형