[알고리즘] 17.버블정렬

손영민's avatar
Mar 03, 2025
[알고리즘] 17.버블정렬
 
 
 
 
 
 
 
 
 
 
package algo; public class Bubble03 { public static void main(String[] args) { // 인접한 두수의 비교하고 교환 int[] arr = {5, 4, 3, 2, 1}; int a = 0; // 배열의 첫 번째 인덱스를 가리키는 변수 a를 초기화합니다. int b = 1; // 배열의 두 번째 인덱스를 가리키는 변수 b를 초기화합니다. int 총회전수 = arr.length - 1; // 배열의 길이에서 1을 뺀 값을 총회전수로 설정합니다. int d = 총회전수; // d를 총회전수로 초기화하여 마지막 인덱스를 추적합니다. //회전수는 n-1 for (int 회전수 = 1; 회전수 <= 총회전수; 회전수++) { // 총회전수만큼 반복하는 외부 루프입니다. for (int c = 1; c <= d; c++) { // 현재 회전에서 비교할 인덱스를 설정하는 내부 루프입니다. if (arr[a] > arr[b]) { // 현재 인덱스 a의 값이 b의 값보다 큰 경우 교환합니다. int temp = arr[b]; // b의 값을 임시 변수 temp에 저장합니다. arr[b] = arr[a]; // a의 값을 b 위치에 저장합니다. arr[a] = temp; // 임시 변수 temp의 값을 a 위치에 저장합니다. a++; // a 인덱스를 증가시킵니다. b++; // b 인덱스를 증가시킵니다. } } a = 0; // a를 0으로 초기화하여 다음 회전 준비합니다. b = 1; // b를 1로 초기화하여 다음 회전 준비합니다. d--; // 마지막 인덱스를 1 감소시켜 다음 회전에서 비교할 범위를 줄입니다. } System.out.println(arr[0]); System.out.println(arr[1]); System.out.println(arr[2]); System.out.println(arr[3]); System.out.println(arr[4]); } }
Share article

sson17