void BubbleSort(int A[ ], int n) {
/* 입력 : A[0:n-1] - 정렬할 원소가 있는 배열, n - 정렬할 원소의 개수.
출력 : A[0:n-1] - 정렬된 배열.*/
int i, Sorted;
Sorted = FALSE; // 이미 정렬된 함수일 경우 반복문을 빠져나간다.
while (!Sorted) { // 이미 정렬되어있을경우 Sorted 값이 TURE에서 바뀌지 않는다.
Sorted = TRUE;
for (i=1; i<n; i++) // 처음부터 마지막 까지 반복한다. 매번 n번 반복한다.
if (A[i-1] > A[i]) { // 뒤에있는 값이 크다면 자리를 바꿔주고 Sorted 값을 바꿔주어 반복이 지속되게 해준다.
Swap(&A[i-1], &A[i]); // 처음에는 마지막에 제일 큰수가 다음실행엔 두번째로 큰수가 마지막-1에 저장. 반복을 많이 실행.
Sorted = FALSE;
}
}
}
댓글 없음:
댓글 쓰기