Java Program to Implement Bubble Sort

This is a java program to sort the numbers using the Bubble Sort Technique. The algorithm goes with the name, generally used to sort numbers in the ascending order. The smallest numbers bubbles up at each iteration of the sort. The time complexity of the algorithm is O(n^2).

Here is the source code of the Java Program to Implement Bubble Sort. The Java program is successfully compiled and run on a Windows system. The program output is also shown below.

//This is a java program to sort numbers using bubble sort
import java.util.Random;
 
public class Bubble_Sort 
{
    static int[] sort(int[] sequence) 
    {
        // Bubble Sort
        for (int i = 0; i < sequence.length; i++)
            for (int j = 0; j < sequence.length - 1; j++)
                if (sequence[j] > sequence[j + 1]) 
                {
                    sequence[j] = sequence[j] + sequence[j + 1];
                    sequence[j + 1] = sequence[j] - sequence[j + 1];
                    sequence[j] = sequence[j] - sequence[j + 1];
                }
        return sequence;
    }
 
    static void printSequence(int[] sorted_sequence) 
    {
        for (int i = 0; i < sorted_sequence.length; i++)
            System.out.print(sorted_sequence[i] + " ");
    }
 
    public static void main(String args[]) 
    {
        System.out
                .println("Sorting of randomly generated numbers using BUBBLE SORT");
        Random random = new Random();
        int N = 20;
        int[] sequence = new int[N];
 
        for (int i = 0; i < N; i++)
            sequence[i] = Math.abs(random.nextInt(1000));
 
        System.out.println("\nOriginal Sequence: ");
        printSequence(sequence);
 
        System.out.println("\nSorted Sequence: ");
        printSequence(sort(sequence));
    }
}

Output:

$ javac Binary_Counting_Subsets.java
$ java Binary_Counting_Subsets
 
$ javac Bubble_Sort.java
$ java Bubble_Sort
 
Sorting of randomly generated numbers using BUBBLE SORT
 
Original Sequence: 
307 677 574 88 325 851 676 357 172 932 166 450 60 538 964 987 706 690 919 518 
Sorted Sequence: 
60 88 166 172 307 325 357 450 518 538 574 676 677 690 706 851 919 932 964 987

Related posts:

Sort a HashMap in Java
Java Program to Perform Quick Sort on Large Number of Elements
Java Program to Implement Hash Tables chaining with Singly Linked Lists
Java Program to Implement Johnson’s Algorithm
Java – Random Long, Float, Integer and Double
Java Program to Implement Suffix Array
Spring Security Custom AuthenticationFailureHandler
Java Program to Implement Dijkstra’s Algorithm using Queue
Sorting in Java
The Java 8 Stream API Tutorial
Loại bỏ các phần tử trùng trong một ArrayList như thế nào trong Java 8?
Lớp Arrarys trong Java (Arrays Utility Class)
Java Program to Find the Peak Element of an Array O(n) time (Naive Method)
Java Program to Construct an Expression Tree for an Prefix Expression
The Modulo Operator in Java
Java CyclicBarrier vs CountDownLatch
Java Program to Implement Suffix Tree
Tiêu chuẩn coding trong Java (Coding Standards)
Guide to java.util.concurrent.Future
Java Program to Generate All Subsets of a Given Set in the Lexico Graphic Order
Java Program to Perform Postorder Non-Recursive Traversal of a Given Binary Tree
Java Program to Check whether Directed Graph is Connected using BFS
Autoboxing và Unboxing trong Java
REST Web service: Upload và Download file với Jersey 2.x
Java Program to Implement Ternary Tree
Java Program to Create a Random Graph Using Random Edge Generation
Jackson Exceptions – Problems and Solutions
Java Program to Implement PrinterStateReasons API
Java Program to Find Basis and Dimension of a Matrix
Spring MVC Setup with Kotlin
Introduction to the Java NIO2 File API
Java Program to Implement the Program Used in grep/egrep/fgrep