코딩note

버블 정렬을 이용한 배열 데이터 오름차순 정렬하기

RunnySun 2022. 6. 21. 21:17

public class JavaArray04 {

         public static void main(String[] args) {


int[] numbers = { 8, 3, 9, 1, 5, 0, 7, 6, 2, 4 };

/* 배열에 저장된 데이터를 오름차순으로 정렬하기 위해 버블정렬 알고리즘을 이용해
* 크기순으로 정렬하는 코드로 버블정렬 알고리즘은 배열의 크기가 n개일 때 배열의
* 첫 번째 요소부터 n-1까지의 요소를 다음에 오는 요소와 크기를 비교하여 자리
* 바꿈을 반복하는 것이다.

*/
for (int j = 0; j < numbers.length; j++) {
       for (int i = 0; i < numbers.length - 1; i++) {

/* 현재 배열의 요소와 바로 다음에 위치한 배열의 요소를 비고하여 현재의
* 요소가 크다면 즉 j == 0 일때 배열의 첫 번째 요소와 두 번째 요소를
* 비교하여 첫 번째 요소가 크다면 첫 번째 요소를 뒤 쪽으로 옮기고
* 두 번째 요소를 앞으로 옮기는 작업을 한다.

*/


             if (numbers[i] > numbers[i + 1]) {

/* 임시 저장소로 사용할 temp 변수를 선언하고 크기가 큰 현재
* 위치의 요소를 temp 변수에 저장한 후 크기가 작은 다음 위치의
* 요소를 현재 위치에 저장한다. 그리고 temp 변수에 저장된
* 값을 다음 위치에 저장하여 현재 위치의 요소를 뒤 쪽으로 옮긴다

*/
       int temp = numbers[i + 1];
      numbers[i + 1] = numbers[i];
      numbers[i] = temp;
              }
       }
}
System.out.println(Arrays.toString(numbers));
       }
}

// 향상된 for 문을 이용해 numbers 배열의 정렬된 데이터를 출력한다.

for(int k : numbers) {
          System.out.print(k);
}
                System.out.println(); 

              }

      }

}

 

실행결과

:

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

'코딩note' 카테고리의 다른 글

배열을 이용한 로또번호 생성기 만들기  (0) 2022.06.21
2차원 배열 사용하기  (0) 2022.06.21
Sql 따라가기  (0) 2022.02.08
코딩을 처음 시작한다면 . 코드잇  (0) 2022.02.04
SQL 다루기  (0) 2022.01.26