본문 바로가기

프로그래밍./C언어.

[C언어] 버블소트 / 버블정렬 / 거품정렬 간단예제.

[C언어] 버블소트 / 버블정렬 / 거품정렬 간단예제.
버블소트. 버블정렬. 거품정렬. 흔히들 이렇게 이야기 한다.

현재 기준 되는 배열과 바로 다음 배열의 값을 비교해서 정렬한다.
그리고 다음 배열과 그 다음 배열의 값을 비교해서 정렬.

0번째와 1번째를 비교하고, 1번째와 2번째를 비교하고, 2번째와 3번째를 비교하는 방식
비교를 해서 오른쪽에 큰 수를 놓는다. 이렇게 큰 수가 오른쪽 끝에 떠오른다 해서 거품 정렬이라 함.

계속 비교를 해서 큰 수를 오른 쪽에 놓으며. 오른쪽 제일 끝에 가장 큰 수가 자리하게 되면
그 다음엔 처음부터 다시 하되, 마지막에 놓인 가장 큰 수를 비교하지 않는다. 당연히 더 작을테니.
따라서 큰 수가 오른쪽부터 차례로 놓이게 되고, 비교하는 횟수도 점차 줄어들게 된다.


결과적으로 모든 정렬이 같지만, 비교하는 방식에 따라 종류가 나뉜다.
당연히 if 문에서 부등호를 바꾸면 반대로, 작은 수가 오른쪽 끝에 자리하게 된다.

만약, 위의 코드에서 랜덤수를 발생하는 부분을 모르겠다면 아래 링크를 참조하자.
랜덤 함수의 사용법과 seed 값에 대한 내용. rand(), srand(), seed 이해하기




유용한 정보가 되셨다면 아래 손가락 버튼 한번 눌러주세요 ^-^