기술 면접 예상 질문 - 선택 정렬과 버블 정렬에 대해 설명해주시고, 코드를 작성해보세요.
버블 정렬은 서로 인접한 두 원소를 비교하고 조건에 따라 자리를 교환하며 정렬하는 알고리즘
public void bubbleSort(int[] arr)
{
for(int i=0; i<arr.Length; i++)
{
for(int j =i+1; j<arr.Length; j++)
{
if( arr[i] > arr[j] )
{
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
선택 정렬은 인덱스를 하나씩 선택해서 채워나가는 정렬 알고리즘이다.
public void selectionSort(int[] arr)
{
for (int i =0; i<arr.Length; i++)
{
int min = i;
for(int j =i+1; j < arr.Length; j++)
{
if (arr[min] > arr[j])
{
min = j;
}
}
int temp = arr[i];
arr[i] = arr[min];
arr[min] = temp;
}
}