I’ve been going through a Java DSA course on Udemy. As a developer who’s first language was JavaScript, it’s been INTERESTING to say the least. This week we’ll be focusing on a sorting algorithm called “Bubble Sort”.

Let’s get started!

# Problem

*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** ), Now, since these elements are already in order (8 > 5), algorithm does not swap them.**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 one **whole** 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** )

# Solution

The above is my implementation of the solution for this problem. Did you have a different approach? Leave a comment down below and let me know!

# Conclusion

Thank you so much for stopping by! Stay tuned for more Algorithm Content. Java Style!

Please checkout my online portfolio and feel free to connect with me on Linkedin!

*Sources:*

*https://www.udemy.com/share/1013vsAEYScVtQTXsJ/**, **https://www.geeksforgeeks.org/bubble-sort/*