👨‍💻Programming/JAVA & C언어 예제

JAVA(자바) 예제 - 버블정렬 알고리즘 1

코너(Corner) 2020. 11. 1.
반응형

버블 정렬 알고리즘을 이용해 예제들을 풀어보기

 

문제1 : 5개의 요소를 입력해 배열에 저장하여 작은 수 -> 큰 수 (오름차순)으로 정렬하기

 

 


예시)

 

 

 


 

 

코드 소스는 펼쳐보기

 

더보기

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import java.util.Arrays;
import java.util.Scanner;
 
public class Bubble {
 
    public static void main(String[] args) {
        //  배열 오름차순 정렬 -> 버블정렬 (==거품 정렬)
        // 1. 비교 -> (data개수 - 1)번
        // 2. [1]액션 -> (데이터개수)번 반복
        // ==> 제일 큰 데이터가 뒤에서부터 정렬
        
        // 즉 앞에 예제와 같이 가장 큰 값을 찾아낼 때 -> max값을 뒤로 보내는 것 뿐
        Scanner sc = new Scanner(System.in);
        int[] arr = new int[5];
        for(int i = 0; i < 5; i++) {
            arr[i]=sc.nextInt();
        }
        for (int v : arr ) { // for each문 활용하여 저장 인덱스 값 보기
            System.out.print(v + " ");
        } System.out.println(); 
        
        for (int a = 0; a < 5; a++ ) { // 5개의 인자가 들어있으므로 5회 실행
            for (int i = 0; i < 5-1; i++ ) { // 비교하기 위한 조건 data - 1
                if ( arr[i] > arr[i+1]) { // [현재 인자값이 자신의 +1값보다 크다면] 조건
                // 교환 알고리즘을 이용한다.
                int tmp = arr[i];  //교환하기 위한 tmp 변수 선언 
                arr[i] = arr[i+1]; // 현재 인자에 +1
                arr[i+1= tmp; // tmp 교환 변수로 저장해둔다.
                }
            }
        } // 배열 정렬을 끝냄 
        for(int v : arr ) { // 배열 정렬이 잘 이루어졌는지 확인한다. 
            System.out.print(v + " ");
        } 
        System.out.println();
        System.out.println(Arrays.toString(arr)); // 인덱스 확인해보기
    }
 
}
 
 
cs

 

 

반응형

댓글