Bubble Algoritam sortiranja u Java: Program za sortiranje polja i primjer
Što je Bubble Sortiraj?
BubblSortiranje je jednostavan algoritam koji uspoređuje prvi element niza sa sljedećim. Ako je trenutni element niza brojčano veći od sljedećeg, elementi se mijenjaju. Isto tako, algoritam će proći cijeli element niza.
U ovom udžbenik, izradit ćemo JAVA program za implementaciju Bubble Razvrstaj. Provjerite izlaz koda koji će vam pomoći razumjeti logiku programa.
Java Program za provjeru Armstrongovog broja
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();
}
}
Izlaz:
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
