투케이2K

42. (java/자바) 알고리즘 : 버블정렬(bubble sort) - 이중 for문을 사용해 오름차순(작은순서) 데이터 정렬 실시 본문

Java

42. (java/자바) 알고리즘 : 버블정렬(bubble sort) - 이중 for문을 사용해 오름차순(작은순서) 데이터 정렬 실시

투케이2K 2020. 12. 31. 12:15

/* =========================== */

[ 개발 환경 설정 ]

개발 툴 : Eclipse

개발 언어 : Java

/* =========================== */

/* =========================== */

[소스 코드]

 

package Al;

import java.util.Arrays;

public class MainActivity28 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("[버블정렬(bubble sort) - 이중 for문을 사용해 오름차순(작은순서) 데이터 정렬 실시]");	
		
		//초기 배열 선언 및 데이터 삽입
		int data[] = {5,4,3,2,1};
		System.out.println("원본 : "+Arrays.toString(data));		
		
		//큰수를 임시로 저장할 변수 선언
		int save = 0;
				
		/*[설 명]
		 * 1. 버블정렬 - 순차적으로 다음 번지 숫자를 비교해 가면서 정렬한다
		 *            (0번지와 1번지 비교 / 1번지와 2번지 비교 / 2번지와 3번지 비교 ...)
		 * 2. 배열에 들어있는 데이터 개수 만큼 정렬 회차를 정의한다
		 * 3. 현재 k 번지와 다음번지인 k+1번지 값을 비교해서 큰수를 임시 변수 save에 저장하고,
		 *    k번지에 k+1번지 값을 저장하고 k+1번지에 임시 변수 save값을 저장한다            
		 */
		for(int i=1; i<=5; i++) { //정렬 회차 정의 실시			
			for(int k=0; k<data.length; k++) { //정렬 회차당 배열 전체 데이터를 다시 정렬한다
				if((k+1) < data.length) { //배열 길이를 벗어나지 않도록 조건을 건다
					if(data[k] > data[k+1]) {
						save = data[k];
						data[k] = data[k+1];
						data[k+1] = save;
					}	
				}				
			}			
			System.out.println(i+" 회전 정렬 : "+Arrays.toString(data));	
		}	
		
	}//메인 종료

}//클래스 종료

/* =========================== */

[결과 출력]

[버블정렬(bubble sort) - 이중 for문을 사용해 오름차순(작은순서) 데이터 정렬 실시]

원본 : [5, 4, 3, 2, 1]

1 회전 정렬 : [4, 3, 2, 1, 5]

2 회전 정렬 : [3, 2, 1, 4, 5]

3 회전 정렬 : [2, 1, 3, 4, 5]

4 회전 정렬 : [1, 2, 3, 4, 5]

5 회전 정렬 : [1, 2, 3, 4, 5]

/* =========================== */

/* =========================== */

[요약 설명]

* 1. 버블정렬 - 순차적으로 다음 번지 숫자를 비교해 가면서 정렬한다

                    (0번지와 1번지 비교 / 1번지와 2번지 비교 / 2번지와 3번지 비교 ...)

* 2. 배열에 들어있는 데이터 개수 만큼 정렬 회차를 정의한다

* 3. 현재 k 번지와 다음번지인 k+1번지 값을 비교해서 큰수를 임시 변수 save에 저장하고,

      k번지에 k+1번지 값을 저장하고 k+1번지에 임시 변수 save값을 저장한다

/* =========================== */

반응형
Comments