CS
선택 정렬과 버블 정렬
llIlIIllII
2023. 11. 16. 14:07
선택 정렬
배열을 반복하여 최소값을 찾아 해당 위치에 배치하는 방식으로 동작합니다. 매번 가장 작은 값을 찾아서 배열의 앞부분부터 순서대로 정렬해가는 방식입니다.
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;
}
}
}