1. 선택정렬

위치가 정해지지 않은 숫자들 중 최솟값을 그 숫자들 중 가장 왼쪽 숫자와 위치를 바꾸는 형태의 정렬 방식

#include <stdio.h>
#define SIZE 10

int main(void)
{
	int list[SIZE] = {3, 2, 9, 7, 1, 4, 8, 0, 6, 5 };
	int tmp, i, j, k, least, index;
	
	for (i=0; i<SIZE; i++)
	{
		least = SIZE;
		for (j=i; j<SIZE; j++)
		{
			if (list[j]<least)
			{
				least = list[j];
				index = j;
			}
		}
		tmp = list[index];
		list[index] = list[i];
		list[i] = tmp;
		for (k=0; k<SIZE; k++)
			printf("%d", list[k]);
		printf("\n");
	}
	printf("\n");
	for (i=0; i<SIZE; i++)
		printf("%d", list[i]);
	return 0;
}

(깔끔하게 보이도록 printf를 통해 과정 출력까지 하는 소스 코드입니다.)

 

 

출력 결과 예시

 

 

+ Recent posts