|
|
버블 정렬 개념
|
|
■ 버블 정렬 개념
- 주어진 파일에서 두 개의 인접한
레코드의 키를 비교하여 키 값에 따라 레코드의
위치를 서로 교환한다.
- n개의 입력 레코드로 구성된 파일에서
오름차순으로 정렬할 경우 첫 번째 레코드와 두 번째
레코드의 키를 비교하여 키 값이 작은 레코드를 앞에
위치시킨 후, 두 번째 레코드와 세 번째 레코드의 키를
비교하여 키 값이 작은 레코드의 위치를 결정하는 과정을
반복해서 마지막으로 n-1번째와 n번째 레코드를 비교하여
위치를 교환하면 1회의 반복이 완료
- 이때 n번째 위치하는 레코드는 키 값이
가장 큰 레코드가 됨
- 다시 n 번째 위치한 레코드를 제외한
나머지 n-1개의 레코드를 위와 동일한 수행방법으로
반복하면 2회의 작업이 끝나며, n-1번째 위치한 레코드는
두 번째로 큰 레코드가 됨
- 이와 같은 작업을 반복 수행하며 마지막
n-1회의 반복에서는 첫 번째와 두 번째 레코드의 키를
비교하여 작은 키 값을 가진 레코드를 첫 번째에 위치시킴으로써
모든 작업이 완료됨
- 매 단계가 수행될 때마다 정렬이 아직 완료되지 않은 데이터들 중 가장 큰 데이터가
배열의 마지막으로 떠오른다고 하여 버블정렬
|
|
|