## What is Bubble Sort?

Bubble sort is a simple algorithm which compares the first element of the array to the next one. If the current element of the array is numerically greater than the next one, the elements are swapped. Likewise, the algorithm will traverse the entire element of the array.

In this tutorial, we will create a JAVA program to implement Bubble Sort. Check the output of the code that will help you understand the program logic

```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();

}
}```

### Output:

```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 ```

YOU MIGHT LIKE: