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:

Java Program to Implement LinkedBlockingQueue API
Java Program to Generate N Number of Passwords of Length M Each
The Registration API becomes RESTful
Java Program to Implement Hash Tables with Linear Probing
Filtering and Transforming Collections in Guava
Java Program to Perform Inorder Non-Recursive Traversal of a Given Binary Tree
Java Program to Implement Cartesian Tree
Java Program to Search Number Using Divide and Conquer with the Aid of Fibonacci Numbers
The HttpMediaTypeNotAcceptableException in Spring MVC
Java Program to Find the Peak Element of an Array O(n) time (Naive Method)
Inject Parameters into JUnit Jupiter Unit Tests
A Quick JUnit vs TestNG Comparison
Exploring the Spring 5 WebFlux URL Matching
New Stream Collectors in Java 9
Extra Login Fields with Spring Security
Introduction to Project Reactor Bus
Hướng dẫn Java Design Pattern – Intercepting Filter
Java – Reader to InputStream
Java Program to Find the Shortest Path from Source Vertex to All Other Vertices in Linear Time
Consumer trong Java 8
Java Program to Implement Splay Tree
Logging a Reactive Sequence
A Guide to @RepeatedTest in Junit 5
Spring Boot Gradle Plugin
Validations for Enum Types
Disable DNS caching
Kiểu dữ liệu Ngày Giờ (Date Time) trong java
Spring Boot - Servlet Filter
Number Formatting in Java
Java Program to find the number of occurrences of a given number using Binary Search approach
File Upload with Spring MVC
Java Program to Find Shortest Path Between All Vertices Using Floyd-Warshall’s Algorithm