본문 바로가기
Program Language/C#

Part2. C# 기초 다지기(8. 버블 정렬)

by 토담이아빠 2023. 2. 22.

버블 정렬

버블 정렬(Bubble Sort)

 

버블 정렬은 두 개의 인접한 원소를 비교하여 작은 값을 앞쪽으로 큰 값을 뒤쪽으로 교환하는 정렬 알고리즘입니다. 이 과정을 반복하면서 순차적으로 정렬을 수행하며, 정렬이 완료될 때까지 반복합니다. 다음은 버블 정렬의 구현 예제입니다.


using System;

namespace BubbleSort_exam
{
    internal class Program
    {
  
        static void Main(string[] args)
        {
            int[] arr = { 3, 2, 4, 1, 5 };
            BubbleSortFunc(arr);
            for (int i = 0; i < arr.Length; i++)
            {
                Console.Write(arr[i] + " ");
            }

        }
        static void BubbleSortFunc(int[] arr)
        {
            int n = arr.Length;

            for (int i = 0; i < n - 1; i++)
            {
                for (int j = 0; j < n - i - 1; j++)
                {
                    if (arr[j] > arr[j + 1])
                    {
                        // Swap arr[j] and arr[j+1]
                        int temp = arr[j];
                        arr[j] = arr[j + 1];
                        arr[j + 1] = temp;
                    }
                }
            }
        }
    }
}

위 예제에서는 BubbleSortFunc() 함수를 사용하여 정렬을 수행합니다. 이 함수는 인수로 배열을 받아들이며, 버블 정렬 알고리즘을 구현합니다. 정렬 알고리즘은 두 개의 반복문으로 구성되어 있으며, 외부 반복문은 배열을 한 번 순회하는 역할을 하고, 내부 반복문은 인접한 두 원소를 비교하고 교환하는 역할을 합니다.

 

위 코드를 실행하면, 배열 {3, 2, 4, 1, 5}이 정렬되어 다음과 같이 출력됩니다.


[결과]
1 2 3 4 5

버블 정렬은 쉽게 이해할 수 있으며, 작은 규모의 데이터에 대해 효과적인 정렬 알고리즘입니다. 그러나 데이터가 많을수록 시간이 오래 걸리는 단점이 있습니다.


댓글