고급 개발자로 가는 길

Algorithm

Select Sort

다크엔지니어 2020. 3. 3. 13:44
반응형

Select Sort 를 구현해 보겠다.

선택정렬은 오름차 정렬 시 한가지를 Select 하여 선택된 값과 최소값을 찾아 Swap 하는 방식이다.

장점은 비교적 구현이 간단하며 Bubble Sort에 비해 복잡도가 빠르다.

하지만 Sort Size가 커질수록 느려진다는 단점이 있다.

#include <stdio.h>

#define DATA_SIZE 10

int main(void)
{
	int data[DATA_SIZE] = { 10, 21, 41, 31, 2, 5, 9, 26, 27, 29 };

	int i, j, temp, tempValue;

	for (i = 0; i < DATA_SIZE -1; i++)
	{
		tempValue = i;
		for (j = i + 1; j < DATA_SIZE; j++)
		{
			if (data[tempValue] > data[j])
				tempValue = j;
		}

		temp = data[i];
		data[i] = data[tempValue];
		data[tempValue] = temp;
	}

	for (i = 0; i < DATA_SIZE; i++)
	{
		printf("%3d", data[i]);
	}
	printf("\n");

	getchar();

	return 0;
}

 

반응형

'Algorithm' 카테고리의 다른 글

Merge Sort  (0) 2020.03.04
Quick Sort  (0) 2020.03.03
Bubble Sort  (0) 2020.03.03
Double LinkedList  (0) 2020.03.03
Stack 자료구조  (0) 2020.02.22