[JAVA] 알고리즘 버블정렬 (bubble sort)

버블정렬이란간단하게 서로 근접한 두개의 index를 비교하여 정렬하는 것

사진으로 예시를 보자

 

 

 

코드

public class Bubble {

	public static void main(String[] args) {
		int []bub = {5,3,7,9,1};
		
		for(int a=0;a<bub.length;a++) { // 25번 반복	
			for(int i=0;i<bub.length-1;i++) { // i=0으로 초기화  ~ 5번만큼 반복
				int j = i+1;				//j = i보다 1큼   ex) i가 3번인덱스면 j는 4번인덱스 
				
				
				if(bub[i] > bub[j] ) {		// 정렬 i가 j보다 크면  두개 값 바꿔주는 if문
					int k = bub[i];
					int l = bub[j];
					
					bub[i] = l;
					bub[j] = k;
				}
			}
		}
		
		for(int b=0;b<bub.length;b++) {		//값 확인
			System.out.println(bub[b]+"\n--");
		}
	}
}

 

  1. 배열에 임의로 값 생성
  2. 정렬을 한번만 할것이 아니기 때문에 2중for문 사용
  3. 두번째 for문 i = bub[0],  j = bub[1] 
  4. if ( 첫번째[i]배열값이 두번째[j] 값보다 크다면 변수값을 바꿔줌
  5. 한번의 정렬이 끝나면 i의 값이 다시 0으로 초기화가 되면서 새롭게 정렬 시작.

댓글

Designed by JB FACTORY