본문 바로가기
자료구조

선택 정렬

by chaechaekim 2019. 9. 10.
#include<stdio.h>
#define MAX_SIZE 5

int sst(int A[], int n) {
	int i, j, tem, Min;
	
	for(i=0;i<n-1;i++) {
		Min = i; // 최솟값 설정
		for(j=i+1;j<n;j++) { // 정렬되지 않은 원소들과 비교
			if(A[j]<A[Min])
				Min=j; // 새로운 최솟값
		}
		
		if(i != Min) {
			tem=A[i];
			A[i]=A[Min];
			A[Min]=tem;
		}
		printf("계산과정: ");
		for(int k=0;k<n;k++)
			printf("%d ", A[k]);
		printf("\n");
	}

}


int main()
{
	int n = MAX_SIZE;
	int A[n]={};
	printf("입력 : ");
	for(int i = 0; i < 5; i++){
		scanf("%d", &A[i]);
	}
	sst(A, n);
	for(int i=0;i<n;i++) {
		printf("%d ", A[i]);
	}
}

/*

입력 : 5 4 3 2 1
계산과정: 1 4 3 2 5
계산과정: 1 2 3 4 5
계산과정: 1 2 3 4 5
계산과정: 1 2 3 4 5
1 2 3 4 5
--------------------------------
Process exited after 2.848 seconds with return value 0
계속하려면 아무 키나 누르십시오 . . .

*/

'자료구조' 카테고리의 다른 글

삽입정렬  (0) 2019.09.30
버블 정렬  (0) 2019.09.11
최댓값 찾기  (0) 2019.09.03
dfs-bfs(연결리스트)  (0) 2019.08.23
행렬을 이용한 BFS  (0) 2019.08.20

댓글