서로 인접한 두 원소를 검사하여 정렬하는 알고리즘

Goal

  • 버블 정렬(bubble sort) 알고리즘을 이해한다.
  • 버블 정렬(bubble sort) 알고리즘을 c언어로 구현한다.
  • 버블 정렬(bubble sort) 알고리즘의 특징
  • 버블 정렬(bubble sort) 알고리즘의 시간복잡도를 이해한다.

들어가기 전

버블 정렬(bubble sort) 알고리즘의 개념 요약

버블 정렬(bubble sort) 알고리즘의 구체적인 개념

버블 정렬(bubble sort) 알고리즘의 예제

버블 정렬(bubble sort) c언어 코드

# include <stdio.h>
# define MAX_SIZE 5

// 버블 정렬
void bubble_sort(int list[], int n){
  int i, j, temp;

  for(i=n-1; i>0; i--){
    // 0 ~ (i-1)까지 반복
    for(j=0; j<i; j++){
      // j번째와 j+1번째의 요소가 크기 순이 아니면 교환
      if(list[j]<list[j+1]){
        temp = list[j];
        list[j] = list[j+1];
        list[j+1] = temp;
      }
    }
  }
}

void main(){
  int i;
  int n = MAX_SIZE;
  int list[n] = {7, 4, 5, 1, 3};

  // 버블 정렬 수행
  bubble_sort(list, n);

  // 정렬 결과 출력
  for(i=0; i<n; i++){
    printf("%d\n", list[i]);
  }
}

버블 정렬(bubble sort) 알고리즘의 특징

버블 정렬(bubble sort)의 시간복잡도

시간복잡도를 계산한다면

정렬 알고리즘 시간복잡도 비교

관련된 Post

References