본문 바로가기

기타/java 자료구조와 알고리즘

[JAVA] 버블 정렬 코드 예제

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