2015년 4월 21일 화요일

[대학교 알고리즘] SelectionSort

void SelectionSort (int A[], int n) {
/* 입력 : A[0:n-1] - 정렬할 원소가 있는 배열, n - 정렬할 원소의 개수.
출력 : A[0:n-1] - 정렬된 배열.*/
int i, j, MinIndex;
for (i=0; i<n-1; i++){ // 맨 처음부터 마지막 원소 전까지 반복
MinIndex = i; // 현재의 값을 기준으로
for (j = MinIndex+1; j<n; j++) // 기준 +1에서부터 마지막 까지 반복
if (A[MinIndex] > A[j]) // 반복문을 돌면서 제일 작은 값을 찾는다.
MinIndex = j;
if (MinIndex != i)
Swap(&A[i], &A[MinIndex]); // 제일작은 값을 기준값과 바꾸어주면서 제일 작은 값이 왼쪽에 위치한다.
}
}

댓글 없음:

댓글 쓰기