제목 : 11.4. 예제. 선택 정렬(Selection Sort) 알고리즘 : 알고리즘_선택정렬.c
    
    
        
            
                | 
                    글번호:
                 | 
                
                 | 
                
                    60
                 | 
            
            
                | 
                    작성자:
                 | 
                
                 | 
                
                    
                        레드플러스
                        
                        
                    
                 | 
            
            
                | 
                    작성일:
                 | 
                
                 | 
                
                    
                        2005/08/02 오전 1:55:53 
                    
                 | 
            
            
            
                | 
                    조회수:
                 | 
                
                 | 
                
                    
                        6318
                    
                 | 
            
            
        
     
 
    
	
	
    
	/*
    선택 정렬(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");
}