Bubble Sort in Java

Bubble Sort is the simplest sorting algorithm that works by repeatedly swapping the adjacent elements if they are in wrong order.
Example:
                                    First Pass:
                                    ( 5 1 4 2 8 ) –> ( 1 5 4 2 8 ), Here, algorithm compares the first two elements, and swaps                                                                                      since 5 > 1.
                                    ( 1 5 4 2 8 ) –>  ( 1 4 5 2 8 ), Swap since 5 > 4
                                    ( 1 4 5 2 8 ) –>  ( 1 4 2 5 8 ), Swap since 5 > 2
                                    ( 1 4 2 5 8 ) –> ( 1 4 2 5 8 ),  
                                   Second Pass:
                                 ( 1 4 2 5 8 ) –> ( 1 4 2 5 8 )
                                 ( 1 4 2 5 8 ) –> ( 1 2 4 5 8 ), Swap since 4 > 2
                                 ( 1 2 4 5 8 ) –> ( 1 2 4 5 8 )
                                 ( 1 2 4 5 8 ) –>  ( 1 2 4 5 8 )
Now, the array is already sorted, but our algorithm does not know if it is completed. The algorithm needs onewhole pass without any swap to know it is sorted.
                                 Third Pass:
                                ( 1 2 4 5 8 ) –> ( 1 2 4 5 8 )
                                ( 1 2 4 5 8 ) –> ( 1 2 4 5 8 )
                                ( 1 2 4 5 8 ) –> ( 1 2 4 5 8 )
                                ( 1 2 4 5 8 ) –> ( 1 2 4 5 8 )

package com.javainhouse;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Set;


        
public class MyBubbleSortJavainHouse {
 
    public static void main(String[] args) {
        int[] array = { 4, 2, 9, 6, 23, 12, 34, 0, 1 };
        int n = array.length;
        int k;
        for (int i = 0; i < n ; i++)
            {
            for (int j = 0; j < n -1; j++)
            {
                k = j + 1;
                if (array[j] > array[k])
                {
                 int temp;
              temp = array[j];
              array[j] = array[k];
              array[k] = temp;
                }
            }
            
            }
            
        for (int m = 0; m < array.length; m++) {
            System.out.print(array[m] + ", ");
        }
        System.out.println("\n");
   
 
    }
}

Output :
Bubble Sort Java


Post a Comment