💧버블 정렬(Bubble Sort)이란?
버블정렬은 인접한 두 값을 비교하며 순서대로 정렬하는 간단한 알고리즘 입니다.
이 과정을 반복하며 배열을 정렬합니다.
버블 정렬 알고리즘 예제
버블 정렬 알고리즘 코드(JAVA)
public class BubbleSort {
public static void main(String[] args) {
int arr[] = {11,4,1,3,5}; //정렬할 배열
int n = arr.length; //배열의 길이
for(int i=0; i<n-1; i++) {
for(int j=0; j<n-i-1; j++) {
//가까운 값과 비교해 앞에 있는 값이 더 클 경우 자리 교체
if(arr[j]>arr[j+1]) {
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
//arr출력
String []in = {"1번째","2번째","3번재","4번째","5번째"};
for(int i=0; i<arr.length; i++) {
System.out.println(in[i]+"\t"+arr[i]);
}
}
}
- 버블정렬은 간단하고 구현하기 쉬운 장점이 있습니다.- 하지만 정렬해야할 값들이 많을 수록 비효율적인 알고리즘입니다.- 버블정렬의 시간복잡도는 O(n^2)입니다.
반응형
'자료구조' 카테고리의 다른 글
[자료구조] AVL트리란? LL, LR, RR, RL? (2) | 2023.07.25 |
---|---|
[자료구조] 특수정렬 - 계수 정렬, 기수 정렬, 버킷 정렬이란? (1) | 2023.07.17 |
[자료구조] 고급 정렬 - 병합 정렬, 퀵 정렬, 힙 정렬, 셸 정렬이란? (0) | 2023.07.16 |
[자료구조] 선택 정렬(Selection Sort)이란 with JAVA (0) | 2023.07.15 |
[자료구조] 삽입 정렬(Insertion Sort)이란? with JAVA (0) | 2023.07.14 |