선택 정렬
배열을 반복하여 최소값을 찾아 해당 위치에 배치하는 방식으로 동작합니다. 매번 가장 작은 값을 찾아서 배열의 앞부분부터 순서대로 정렬해가는 방식입니다.
int n = arr.Length;
for (int i = 0; i < n - 1; i++)
{
int min_idx = i;
for (int j = i + 1; j < n; j++)
{
if (arr[j] < arr[min_idx])
{
min_idx = j;
}
}
int temp = arr[min_idx];
arr[min_idx] = arr[i];
arr[i] = temp;
}
버블 정렬
인접한 두 원소를 비교하여 순서가 잘못된 경우 서로 위치를 교환하는 정렬 알고리즘입니다. 가장 큰(또는 작은) 값이 배열의 마지막으로 이동할 때까지 반복하여 정렬하는 방식입니다.
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])
{
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
'CS' 카테고리의 다른 글
| 값 형식과 참조 형식의 차이점 (0) | 2023.11.16 |
|---|---|
| 스택, 힙 메모리와 차이점 (0) | 2023.11.16 |
| 정렬 알고리즘이란 (0) | 2023.11.16 |
| 콜백이란 (0) | 2023.11.16 |
| 람다식(Lambda Expression)이란 (0) | 2023.11.16 |