[자바] 버블 정렬 알고리즘
버블정렬( =오름차순)
: 원소를 두 개씩 비교하고 자리를 바꾸는 정렬
: 배열 알고리즘
규칙
: 처음부터 끝까지 순회하며 모든 요소들을 비교한다
: 현재 보이는 수와 다음 값을 비교하며 큰 값을 오른쪽(끝 쪽)으로 저장한다.
: 1번과 2번, 2번과 3번...을 비교해 보내면 결국 마지막 자리에는 가장 큰 값이 저장
: 순회는 1회만 하는 것이 아니고, 옮겨지는 값이 없을 때까지 반복한다.
1. 형태
for (int i = 0; i < list.length; i++) {
for (int j = 0; j < list.length - i - 1; j++) {
// 만약 j번 인덱스에 에 저장된 숫자가 다음 인덱스에 저장된 숫자보다 크다면
// ex. 0번 인덱스에 있는 7이 / 1번 인덱스에 있는 4 보다 크다면
if (list[j] > list[j + 1]) {
// tmp 변수에 j 를 복사한다
int temp = list[j];
// j 자리에는 j+1번의 숫자를 복사해주고
list[j] = list[j + 1];
// j+1번의 자리에는 tmp에 저장된 j의 수를 붙여넣기 한다
list[j + 1] = temp;
}
}
}
2. 사용해보기
int list[] = { 1, 6, 7, 8, 3 };
for (int i = 0; i < list.length; i++) {
for (int j = 0; j < list.length - i - 1; j++) {
if (list[j] > list[j + 1]) {
int temp = list[j];
list[j] = list[j + 1];
list[j + 1] = temp;
}
}
}
for (int i = 0; i < list.length; i++) {
System.out.print(list[i] + ", ");
}
실행 결과
Author And Source
이 문제에 관하여([자바] 버블 정렬 알고리즘), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@cyhse7/자바-버블-정렬저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)