I. 버블 정렬 (Bubble Sort)의 개요

가. 버블 정렬의 정의

여러 개의 자료 중에서 서로 이웃하는 키 값을 두 개씩 비교하여 순서를 결정하는 정렬 방법

 

나. 버블 정렬의 특징

  • 간단하지만 느린 속도의 알고리즘
  • flag를 통해 속도 개선 가능
  • 수행시간 복잡도: O(n2)

 

Ⅱ. 버블 정렬의 단계 및 사례

가. 버블 정렬의 단계

 

  • 인접한 두 개의 키 값을 비교함.

  • 앞의 키 값이 뒤의 키 값보다 크면 교환

  • 더 이상 비교할 대상이 없을 때까지 처음부터 반복
  •  

    나. 버블 정렬의 사례

     


    /* list에 대한 기본 버블정렬 알고리즘 */

    void bubble_sort(element list[], int n) {

    int i, j;

    element next;

    for(i = n-1; i > 0; i--){

    for(j = 0; j < i; j++){

    if(list[j] > list[j + 1]{

    swap(list[j], list[j + 1]);

    }}}}