- [Java] 31. 버블 정렬2024년 04월 19일
- Song hyun
- 작성자
- 2024.04.19.:06
728x90반응형[Java] 31. 버블 정렬
1. 버블 정렬(bubble sort, sinking sort): 서로 인접한 두 원소를 검사하여, 정렬하는 알고리즘을 버블 정렬이라고 부른다.
-서로 인접한 2개의 변수를 비교, 크기가 순서대로(오름차순)가 아니라면 서로의 위치를 교환한다.
-원소의 이동이 거품이 수면으로 올라오는 듯한 모습을 보이기에 '버블 정렬'이라고 불린다.
-버블 정렬은 구현이 간단하다는 장점을 가지고 있다.
-하지만 순서에 맞지 않은 요소를 인접한 요소와 교환해, 정렬이 맞지 않을 때가 있다.
2. 버블 정렬의 예시
아래의 코드를 살펴보자.
-(1) gameNumber 변수: 각각의 gameNumber(1,2,3,4,5,6) 변수들은 1~45까지의 수 중 랜덤한 값 하나를 가진다.
-(2) tempBox: 변수 tempBox는 gameNumber 속의 값을 옮기기 전, 잠시 저장해두는 역할을 한다.
-(3) if문: 오름차 순으로 변수들의 값을 비교한다.
예를 들어 gameNumber1이 gameNumber2보다 큰 값을 가지고 있다면, 오름차순 정렬에서 벗어난다고 볼 수 있다.
이 때 gameNumber1의 값을 변수 tempBox에 초기화해둔다. 그 뒤, gameNumber1에 gameNumber2의 값을 초기화하고, gameNumber2에 tempBox의 값을 초기화하는 식이다.
1<2 / 2<3 / 3<4 /4>5 이런 식으로, 한 칸씩 뒤로 밀려나 변수들을 차례차례 비교하며 순서를 정렬하고 있다는 것을 알 수 있다.
728x90반응형'Java > 기본 개념 및 클래스' 카테고리의 다른 글
[Java] 33. 배열의 길이와 요소 (0) 2024.04.22 [Java] 32. 자료구조와 배열 (0) 2024.04.22 [Java] 30. Oracle 에서 Java 문서 읽기 (0) 2024.04.19 [Java] 28. static 메서드의 개념과 메서드 오버로딩 (0) 2024.04.19 [Java] 28. Static 변수와 원리 (0) 2024.04.18 다음글이전글이전 글이 없습니다.댓글
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)