본문 바로가기

CS

선택 정렬과 버블 정렬

선택 정렬

배열을 반복하여 최소값을 찾아 해당 위치에 배치하는 방식으로 동작합니다. 매번 가장 작은 값을 찾아서 배열의 앞부분부터 순서대로 정렬해가는 방식입니다.

 

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