Algorithm 버블(Bubble) 정렬
오늘은 버블정렬에 대해서 알아보겠습니다.
성능이 안 좋지만 알고리즘을 이해하는 가장 기본적인 정렬 중에 하나입니다.
아주 단순하면서도 쉽게 코드로 작성해 볼 수 있습니다.
처음엔 역시 안쪽 순환문을 통해 처음 배열 숫자 위치(changePosition)와 그 다음 배열 숫자 위치(changePosition+1)을 비교하고
뒤에 수가 앞에 수보다 작다면 위치를 서로 변경합니다.
배열의 길이만큼 숫자위치와 그 다음 숫자를 비교하여 조건에 맞다면 위치를 변경합니다.
그 다음 회차(cycleNumber)를 진행하고 이렇게해서 오름차순으로 숫자 정렬이 완성됩니다.
간단한 예제이기 때문에 코드와 출력값을 첨부하겠습니다.
코드에 log의 위치를 보면 배열이 변경될 때마다 출력되게 하였습니다.
그리고 그 결과값을 보면 버블정렬이 어떤식으로 동작하는지 이해하기 쉽습니다.
로그의 값은 '변경되는 배열 | 변경 횟수 | 회차' 입니다.
초보자가 직접 코드로 작성하고 출력해보기 좋은 난이도입니다.
Algorithm. 계수정렬 (0) | 2017.03.06 |
---|---|
Algorithm. 퀵정렬 (0) | 2017.02.25 |
Algorithm. 선택정렬 (0) | 2017.02.16 |
Algorithm. 합병정렬 (0) | 2017.02.12 |
Algorithm. 삽입정렬 (0) | 2017.02.09 |