728x90
버블 정렬은 인접한 두 요소를 검사하고 정렬하는 알고리즘입니다.
5,4,3,2,1이라는 배열이 있다고 해봅시다.
버블 정렬을 사용해 오름차순으로 정렬하면
1. 4,3,2,1,5
5와 비교하면서 5보다 작을 경우 위치를 바꿉니다.
2.다음으로 제일 끝 인덱스 전까지 인접한 요소들 끼리 서로 비교하며 위치를 바꿉니다.
3,2,1,4,5
이과정을 반복하면 1,2,3,4,5로 정렬됩니다.
5개의 요소가 있을때 총 큰 틀에서 4번의 검사가 진행됩니다.
코드로 구현해 보도록 하겠습니다.
static void bubblesort(int[] a, int n) {
for (int i = 0; i<n-1;i++) {
for(int j = 1; j< n - i;j++ ) {
if(a[j]<a[j-1]) {
int t = a[j];
a[j]=a[j-1];
a[j-1]=t;
}
}
}
}
public static void main(String[] args) {
int[] a = new int[] {5,4,3,2,7,1};
int n = 6;
bubblesort(a,n);
for (int i=0; i<n;i++) {
System.out.println(a[i]);
}
}
728x90
'기타 > java 자료구조와 알고리즘' 카테고리의 다른 글
자바 배열 선택정렬 (0) | 2021.01.07 |
---|---|
재귀 알고리즘 : 8퀸 문제 (0) | 2021.01.05 |
자바 재귀함수 하노이탑 풀이 (1) | 2021.01.04 |
재귀 알고리즘 비재귀로 표현하기 (0) | 2021.01.03 |
재귀 함수 알고리즘 예 하향식,상향식 분석하기 (0) | 2020.12.30 |