버블 정렬(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
버블 정렬은 쉽게 이해할 수 있으며, 작은 규모의 데이터에 대해 효과적인 정렬 알고리즘입니다. 그러나 데이터가 많을수록 시간이 오래 걸리는 단점이 있습니다.
'Program Language > C#' 카테고리의 다른 글
Part2. C# 기초 다지기(10. 클래스의 구성) (11) | 2023.02.24 |
---|---|
Part2. C# 기초 다지기(9. 클래스와 구조체) (21) | 2023.02.23 |
Part2. C# 기초 다지기(7. 선형탐색과 이진탐색) (18) | 2023.02.17 |
Part2. C# 기초 다지기(6. 배열의 최대 / 최소 값 구하기) (22) | 2023.02.15 |
Part2. C# 기초 다지기(5. Random 클래스) (11) | 2023.02.14 |
댓글