자료구조 와 알고리즘

거품정렬 Bubble Sort

브랑제리 2021. 6. 9. 22:51
  • 두 인접한 원소를 비료하여 최대값을 배열의 제일 뒤로 보낸다.
  • 시간 복잡도는 O(n^2) 이다.

코드

void BubbleSort(int[] array)
{
    for (int i = 0; i < array.Length - 1; ++i)
    {
        for(int j = 1; j < array.Length - i; ++j)
        {
            if (array[j - 1] > array[j])
            {
                int temp = array[j];
                array[j] = array[j - 1];
                array[j - 1] = temp;
            }
        }
    }
}

결과

 int[] array = { 10, 5, 7, 2, 8, 4, 1 };

를 정렬 처리를 하면 다음과 같이 처리가 된다.

  • 1회차

    5 10 7 2 8 4 1 
    5 7 10 2 8 4 1 
    5 7 2 10 8 4 1 
    5 7 2 8 10 4 1 
    5 7 2 8 4 10 1 
    5 7 2 8 4 1 10
  • n 번차를 반복하여 정렬을 하게 된다.

참고

https://ko.wikipedia.org/wiki/%EA%B1%B0%ED%92%88_%EC%A0%95%EB%A0%AC

반응형

'자료구조 와 알고리즘' 카테고리의 다른 글

삽입 정렬 (Insertion Sort)  (0) 2021.06.16
배열 Array  (0) 2021.06.09