Bubble 정렬 알고리즘 Java: 배열 정렬 프로그램 및 예제

Bubbl전자 정렬?

Bubble sort는 배열의 첫 번째 요소를 다음 요소와 비교하는 간단한 알고리즘입니다. 배열의 현재 요소가 다음 요소보다 숫자적으로 크면 요소가 바뀝니다. 마찬가지로 알고리즘은 배열의 전체 요소를 탐색합니다.

이번에 지도 시간, 구현하기 위한 JAVA 프로그램을 만들겠습니다. Bubbl전자 정렬. 프로그램 논리를 이해하는 데 도움이 되는 코드의 출력을 확인하세요.

Java Armstrong 번호를 확인하는 프로그램

package com.guru99;
 
public class BubbleSort {
 
	public static void main(String[] args)
	{  
		int arr[] ={860,8,200,9};  
 
		System.out.println("---Array BEFORE Bubble Sort---"); 
		
	    printArray(arr);
 
		bubbleSort(arr);//sorting array elements using bubble sort  
 
		System.out.println("---Array AFTER Bubble Sort---");  
		
		printArray(arr); 
 
	}  
 	static void bubbleSort(int[] array)
	{  
		int n = array.length;  
		int temp = 0;  
		for(int i=0; i < n; i++) // Looping through the array length
		{  System.out.println("Sort Pass Number "+(i+1)); 
			for(int j=1; j < (n-i); j++)
			{  
			    System.out.println("Comparing "+ array[j-1]+ " and " + array[j]);    
				if(array[j-1] > array[j])
				{   
				    
					//swap elements  
					temp = array[j-1];  
					array[j-1] = array[j];  
					array[j] = temp;  
				    System.out.println(array[j]  + " is greater than " + array[j-1]);
				    System.out.println("Swapping Elements: New Array After Swap");
					printArray(array);
				}  
 
			}  
		}  
 
	} 
	
	static void printArray(int[] array){
	    
	    for(int i=0; i < array.length; i++)
		{  
			System.out.print(array[i] + " ");  
		} 
	    System.out.println();
	    
	}
}

출력:

860 8 200 9 
Sort Pass Number 1
Comparing 860 and 8
860 is greater than 8
Swapping Elements: New Array After Swap
8 860 200 9 
Comparing 860 and 200
860 is greater than 200
Swapping Elements: New Array After Swap
8 200 860 9 
Comparing 860 and 9
860 is greater than 9
Swapping Elements: New Array After Swap
8 200 9 860 
Sort Pass Number 2
Comparing 8 and 200
Comparing 200 and 9
200 is greater than 9
Swapping Elements: New Array After Swap
8 9 200 860 
Sort Pass Number 3
Comparing 8 and 9
Sort Pass Number 4
---Array AFTER Bubble Sort---
8 9 200 860