## \$show=/label

Bubble Sort in Java. Learn java program to write Bubble Sort w3schools. Bubble Sort is the simplest sorting algorithm that works by repeatedly swapping the adjacent elements if they are in wrong order.

## Bubble Sort in Java | Sinking Sort Technique

Bubble sort, sometimes referred to as sinking sort, is a simple sorting algorithm that repeatedly steps through the list to be sorted, compares each pair of adjacent items and swaps them if they are in the wrong order. The algorithm, which is a comparison sort, is named for the way smaller or larger elements "bubble" to the top of the list. Although the algorithm is simple, it is too slow and impractical for most problems even when compared to insertion sort. It can be practical if the input is usually in sorted order but may occasionally have some out-of-order elements nearly in position.

1) Easy to understand.
2) Easy to implement.
3) In-place, no external memory is needed.
4) Performs greatly when the array is almost sorted (This is part of Optimized Bubble Sort).
5) Widely used by students to clear practical exams or freshers interview process as the end result is the same as that of any sorting technique

## Example Simulation:

An example of bubble sort. Starting from the beginning of the list, compare every adjacent pair, swap their position if they are not in the right order (the latter one is smaller than the former one). After each iteration, one less element (the last one) is needed to be compared until there are no more elements left to be compared.

## Algorithm (Source):

procedure bubbleSort( A : list of sortable items )
n = length(A)
Outer: for (int i = 0; i < n; i++) then
Inner: for (int j = 0; j < n; j++) then
if (A[i] < A[j]) then
/* swap them and remember something changed */
swap( A[i], A[j] )
end if
end for inner
end for outer
end procedure

## Bubble Sort Program in Ascending Order:

public class BubbleSort {
public static void main(String[] args) {
int values[] = { 30, 10, 40, 90, 50 };
int length = values.length;
System.out.println("Before sorting ");
for (int value : values) {
System.out.print(" " + value);
}
System.out.println();
for (int i = 0; i < length; i++) {
for (int j = 0; j < length; j++) {
if (values[i] < values[j]) {
int temp = values[i];
values[i] = values[j];
values[j] = temp;
}
}
System.out.print("For outer loop i value : "+i+" : ");
for (int value : values) {
System.out.print(" " + value);
}
System.out.println();
}
System.out.println("After sorting in Ascending Order");
for (int value : values) {
System.out.print(" " + value);
}
}
}

## Output:

Before sorting
30 10 40 90 50
For outer loop i value : 0 :  90 10 30 40 50
For outer loop i value : 1 :  10 90 30 40 50
For outer loop i value : 2 :  10 30 90 40 50
For outer loop i value : 3 :  10 30 40 90 50
For outer loop i value : 4 :  10 30 40 50 90
After sorting in Ascending Order
10 30 40 50 90

## Bubble Sort Program in Descending Order:

To get sorted in descending order, Just do the below change in the above program.

if (values[i] > values[j]) {

Output:

Before sorting
30 10 40 90 50
For outer loop i value : 0 :  10 30 40 90 50
For outer loop i value : 1 :  30 10 40 90 50
For outer loop i value : 2 :  40 30 10 90 50
For outer loop i value : 3 :  90 40 30 10 50
For outer loop i value : 4 :  90 50 40 30 10
After sorting in Descending Order
90 50 40 30 10

## Drawbacks of bubble sort

1) we have to traverse the input array until the last element.
2) Very expensive, O(n2) in the worst case and average case.
3) It does more element assignments than its counterpart, insertion sort.

In the next tutorial, We will learn how we can optimize bubble sort for the largest arrays.

BLOGGER

Author: Venkatesh - I love to learn and share the technical stuff.
Name

accumulo,1,ActiveMQ,2,Adsense,1,API,37,ArrayList,16,Arrays,16,Bean Creation,3,Bean Scopes,1,BiConsumer,1,Blogger Tips,1,Books,1,C Programming,1,Collection,5,Collections,28,Collector,1,Command Line,1,Compile Errors,1,Configurations,7,Constants,1,Control Statements,8,Conversions,6,Core Java,93,Corona India,1,Create,2,CSS,1,Date,3,Date Time API,35,Dictionary,1,Difference,1,Download,1,Eclipse,2,Efficiently,1,Error,1,Errors,1,Exception,1,Exceptions,3,Fast,1,Files,13,Float,1,Font,1,Form,1,Freshers,1,Function,3,Functional Interface,2,Garbage Collector,1,Generics,4,Git,4,Grant,1,Grep,1,HashMap,1,HomeBrew,2,HTML,2,HttpClient,2,Immutable,1,Installation,1,Interview Questions,5,Iterate,2,Jackson API,3,Java,30,Java 10,1,Java 11,5,Java 12,5,Java 13,2,Java 14,2,Java 8,105,Java 8 Difference,2,Java 8 Stream Conversions,2,java 8 Stream Examples,3,Java 9,1,Java Conversions,11,Java Design Patterns,1,Java Files,1,Java Program,3,Java Programs,104,java.lang,5,java.util. function,1,jQuery,1,Kotlin,11,Kotlin Conversions,6,Kotlin Programs,10,Lambda,1,lang,29,Leap Year,1,live updates,1,LocalDate,1,Logging,1,Mac OS,2,Math,1,Matrix,5,Maven,1,Method References,1,Mockito,1,MongoDB,3,New Features,1,Operations,1,Optional,6,Oracle,5,Oracle 18C,1,Partition,1,Patterns,1,Programs,1,Property,1,Python,2,Quarkus,1,Read,1,Real Time,1,Recursion,2,Remove,2,Rest API,1,Schedules,1,Serialization,1,Servlet,2,Sort,1,Sorting Techniques,8,Spring,2,Spring Boot,23,Spring Email,1,Spring MVC,1,Streams,27,String,58,String Programs,12,String Revese,1,Swing,1,System,1,Tags,1,Threads,11,Tomcat,1,Tomcat 8,1,Troubleshoot,16,Unix,3,Updates,3,util,5,While Loop,1,
ltr
item
JavaProgramTo.com: Java Program to Bubble Sort(Sinking Sort)
Java Program to Bubble Sort(Sinking Sort)
Bubble Sort in Java. Learn java program to write Bubble Sort w3schools. Bubble Sort is the simplest sorting algorithm that works by repeatedly swapping the adjacent elements if they are in wrong order.
https://1.bp.blogspot.com/-w5A3zDheiMQ/WfW2Hl8bSmI/AAAAAAAAAxY/qk6AH8fmMa8gIIEFfJ0RDhRzPqAV6NY8ACLcBGAs/s320/14%2BBubble%2BSort%2Bin%2BJava%2B%2B-Sinking%2BSort%2BTechnique.jpg
https://1.bp.blogspot.com/-w5A3zDheiMQ/WfW2Hl8bSmI/AAAAAAAAAxY/qk6AH8fmMa8gIIEFfJ0RDhRzPqAV6NY8ACLcBGAs/s72-c/14%2BBubble%2BSort%2Bin%2BJava%2B%2B-Sinking%2BSort%2BTechnique.jpg
JavaProgramTo.com
https://www.javaprogramto.com/2017/10/bubble-sort-in-java.html
https://www.javaprogramto.com/
https://www.javaprogramto.com/
https://www.javaprogramto.com/2017/10/bubble-sort-in-java.html
true
3124782013468838591
UTF-8