티스토리 뷰

반응형

개발자의 C언어 독학 기초 # 응용 / 선택정렬

 

모든 강의 자료 : www.codingnow.co.kr/

선택 정렬

#include <stdio.h>
#include <windows.h> //system 명령 실행을 위해

//선택 정렬
//define으로 함수를 설정할 수 있다. (SWAP 함수 설정)
#define SWAP(x,y,t) ((t)=(x), (x)=(y), (y)=(t)) 
void SelectionSort(int var[], int n)
{
    int i,j,select,tmp;    
    for(i=0; i<n-1; i++)
    {
        select=i;
        for(j=i+1; j<n; j++)
		{
            if(var[j]<var[select]) select=j;
			{
				SWAP(var[i], var[select], tmp);
			}
		}
    }
}

void main(void)
{
	system("chcp 65001"); //gcc 한글 깨짐
	system("cls"); //화면지움
	
	int TargetArr[10] = { 7, 2, 3, 5, 4, 8, 6, 9, 10, 1 };
//정렬하기전 값 출력

	printf("\n정렬 전 : ");
    for (int i = 0; i < 10; i++)
    {
        printf("%d ", TargetArr[i]);
    }
	
	SelectionSort(TargetArr, 10);//정렬 함수 호출

    printf("\n\n");
	printf("정렬 후 : ");
    for (int i = 0; i < 10; i++)
    {
        printf("%d ", TargetArr[i]);
    }

    printf("\n\n");
	
	return;
}

 

반응형