버블정렬 > 문제은행

본문 바로가기


실력키우기 자료처리

1157 : 버블정렬

제한시간: 1000 ms    메모리제한: 32 MB
해결횟수: 1083 회    시도횟수: 1898 회   



거품 정렬(Bubble sort)이란? 두 인접한 원소를 검사하여 자리를 바꾸는 과정을 반복하며 정렬하는 방법이다.

 

다음과 같은 과정으로 정렬을 한다.
1. 첫번째 값과 두번째 값을 비교하여 첫번째 값이 크면 자리를 바꾼다.
2. 두번째 값과 세번째 값을 비교하여 두번째 값이 크면 자리를 바꾼다.
3. 위와 같이 반복하여 N-1번째 값과 N번째 값을 비교하여 N-1번째 값이 크면 자리를 바꾼다. 

   이 단계가 끝나면 N번째에 가장 큰 수가 자리하게 된다. (한단계완료)
4. N번째를 제외하고 1~3을 반복하면 N-1번째에 두 번째로 큰수가 자리한다. (2단계 완료)
5. 위와같은 작업을 N-1번 반복하면 모든 데이터가 순서대로 정렬된다.

예를 들어 수열 {62, 23, 32, 15} 가 있을 때 아래와 같은 과정으로 정렬이 된다.

e3050b66a1b29a01767400d7560a4131_1449727

(분홍식 칸은 정렬이 끝나 더이상 확인 안해도 되는 값이다.)

정렬되지 않은 수열이 주어지면 버블정렬의 각 단계가 끝날때마다 결과를 출력하는 프로그램을 작성하시오

 


첫줄에 수열의 길이 N(4≤N≤100)이 주어진다. 두 번째 줄에 N개의 0이상 100이하의 정수가 주어진다.



처음 상태를 제외하고 정렬과정의 각 단계별 결과를 "출력예"와 같이 출력한다.


[Copy]
4
62 23 32 15
[Copy]
23 32 15 62
23 15 32 62
15 23 32 62


출처 : jungol



HancomEducation E-mail : hancomc@hotmail.com, comkiwer@naver.com Tel : 070-7163-5782 FAX : 031-388-0996 정올소개 이용약관 개인정보처리방침
경기도 안양시 동안구 호계동 1065-10 협성골드프라자 601호, 경기도 안양시 동안구 평촌대로 109 협성골드프라자 601호
Copyright@2010-2015 jungol. All right reserved.