JaeUng
by JaeUng
~1 min read

Categories

Bubble Sort(버블정렬)?

이중포문 구현,
바깥 포문은 i = N-1 -> 0 포문을 돌리고,
안쪽 포문은 0부터 i 번만큼 돌립니다.
결국 회차별 가장 큰 값은 뒤로 가지기 때문에
반복 횟수를 줄일 수 있는 코드
배열[J],배열[J+1]번를 잡고 비교하면서 swap.
최선 O(n) - 최악 O(n^2)

버블1

버블2

< 자바 코드 >

import java.util.Arrays;

public class Bubble {
	int[] arr;
	Bubble(int [] arr){
		this.arr = arr;
		
	}
	public void swap(int a,int b) {
		int temp = arr[a];
		arr[a] = arr[b];
		arr[b] = temp;
	}
	public void sort(){
			
		for(int i = arr.length-1; i >= 0;i--) {
			System.out.println(arr.length-i+ "회차");
			for(int j = 0 ; j < i ;j++) {
				if(arr[j]>arr[j+1]) {
					this.swap(j,j+1);
					System.out.println(Arrays.toString(arr));
				}
				
			}
		}		
	}
	public static void main(String[] args) {
		
		int[] arr = {8,5,6,2,4};
		Bubble b= new Bubble(arr);
		b.sort();
		System.out.println("정렬완료!");
		System.out.println(Arrays.toString(arr));
	} 
}

< 결과창 >

버블2

BubbleSort / 버블정렬