# Bubble Sort

0
35

## Buble sort Overview

 Parameter Description Stable Yes In place Yes Best case complexity O(n) Average case complexity O(n^2) Worst case complexity O(n^2) Space complexity O(1)

## Bubble Sort Explaination

### Buble sort approach

• Select the first element of the array
• Compare it with its next element
• If it is larger than the next element then swap them
• else do nothing
• Keep doing this for every index of the array
• Repeat the above process n times.

The BubbleSort compares each successive pair of elements in an unordered list and inverts the elements if they are not in order.

The following example illustrates the bubble sort on the list `{6,5,3,1,8,7,2,4}` (pairs that were compared in each step are encapsulated in ‘**’):

After one iteration through the list, we have `{5,3,1,6,7,2,4,8}`. Note that the greatest unsorted value in the array (8 in this case) will always reach its ﬁnal position. Thus, to be sure the list is sorted we must iterate n-1 times for lists of length n.

Another example:

## Bubble Sort implementation

Bellow, we are going to implement bubble sort algo in several programing languages.

You may also enjoy: Dynamic programming problems tutorial

### Implementation in C & C++

C Implementation:

Bubble Sort with pointer:

Implementation of BubbleSort in C++:

### Implementation in C#

Bubble sort is also known as Sinking Sort. It 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.