제목 : 11.4. 예제. 선택 정렬(Selection Sort) 알고리즘 : 알고리즘_선택정렬.c
글번호:
|
|
60
|
작성자:
|
|
레드플러스
|
작성일:
|
|
2005/08/02 오전 1:55:53
|
조회수:
|
|
5377
|
/*
선택 정렬(Selection Sort) 알고리즘:
5개의 수를 입력시킨 후 선택 정렬(Selection Sort)을 이용하여
오름차순(ASCending) 정렬하는 프로그램
*/
#include <stdio.h>
#define N 5
void main(void)
{
//[1] Input
int data[N] = { 33, 21, 17, 5, 40 };
int i, j, k, temp;
printf("입력된 데이터: ");
for (i = 0; i < N; i++)
{
printf("%2d ", data[i]);
}
printf("\n\n");
//[2] Process : 선택 정렬 알고리즘(Selection Sort)
for (i = 0; i < N - 1; i++) // i = 0 to N - 1
{
for (j = i + 1; j < N; j++) // j = i + 1 to N
{
if (data[i] > data[j]) // 작은값을 왼쪽으로(큰값을 뒤로...)
{
temp = data[i]; //[!] 데이터 바꿈
data[i] = data[j];
data[j] = temp;
}
}
//[!] 회전수 출력
printf("%2d회전 데이터: ", (i + 1));
for (k = 0; k < N; k++)
{
printf("%2d ", data[k]);
}
printf("\n");
}
printf("\n");
//[3] Output
printf("정렬된 데이터: ");
for (i = 0; i < N; i++)
{
printf("%2d ", data[i]);
}
printf("\n");
}