버블 정렬(Bubble Sort) 알고리즘

알고리즘/정렬 알고리즘

2020. 11. 16.

버블 정렬(Bubble Sort) 알고리즘이란?

이웃한 두 요소의 대소 관계를 비교하여 교환을 반복하는 알고리즘.

 

	//두 인접한 요소의 값을 교환한다.
	static void swap(int[] a, int idx1, int idx2) {
		int tmp = a[idx1];
		a[idx1] = a[idx2];
		a[idx2] = tmp;
	}

	//버블 정렬을 실행한다.
	static void bubbleSort(int[] a) {
		int n = a.length;
		int k = 0;
		while(k < n-1) {
			int last = n-1;	//마지막으로 요소를 교환한 위치
			for(int j=n-1; j>k; j--) {
				if(a[j-1] > a[j]) {
					swap(a, j-1, j);
					last = j;
				}
			}
			k = last;
		}
	}

 

 

 

lktprogrammer.tistory.com/30?category=672214

 

03 정렬 알고리즘 - 버블 정렬 (Bubble Sort)

버블정렬 (Bubble Sort) 두 인접한 배열요소를 차례대로 검사를 하여 정렬을 하는 방식 ■ 정렬 방식 1. 배열의 가장 앞에서 인접한 두 개의 요소에 대하여 비교를 한다. (배열의 첫 번째 요소와 두

lktprogrammer.tistory.com

 

교환 정렬과 똑같이 여겨지기도 하지만,

교환 정렬은 마지막 바로 이전의 데이터와 마지막 데이터를 비교할 때까지 연산을 반복하는 방법을 채택하고 있음.

버블 정렬은 교환이 일어나지 않을 때 까지 반복하는 방법.

'알고리즘 > 정렬 알고리즘' 카테고리의 다른 글

병합 정렬(Merge Sort)  (0) 2020.11.23
셸 정렬 알고리즘  (0) 2020.11.22
힙 정렬(Heap Sort) 알고리즘  (0) 2020.11.16
퀵 정렬(Quick Sort) 알고리즘  (0) 2020.11.16
병합 정렬(Merge Sort) 알고리즘  (0) 2020.11.16