# Bubble Sort in C++

The bubble sort algorithm organizes the values ​​by iterating over the array multiple times, causing larger values ​​to appear at the top or end of the array. In this article, I will explain the implementation of Bubble Sort in C++ programming language.

## Introduction to Bubble Sort Algorithm

Bubble sorting is also known as sinking sort. This is a simple sorting algorithm that iterates through the list to sort repeatedly, compares each pair of adjacent items, and swaps them if they are in the wrong order.

It compares each successive pair of elements in an unordered array and reverses the elements if they are out of order.

The effectiveness of the bubble sort algorithm depends only on the number of keys in the array and is independent of specific values ​​and the initial arrangement of those values.

To determine the efficiency, we need to determine the total number of iterations performed by the inner loop for a sequence containing n values. The outer loop is executed n – 1 time since the algorithm passes n – 1 over the sequence. The number of iterations for the inner loop is not fixed but depends on the current iteration of the outer loop.

## Implementation of Bubble Sort in C++

To implement bubble sort in C++ programming language we need to check if arr[i] > arr[i+1] swap them. To place the element in their respective position, we have to do the following operation N-1 times:

`540 5 30 67 125 12 30 40 67`

## Summary

The idea behind bubble sort is similar to the idea behind selection sort, with each pass through the algorithm, we place at least one item in its appropriate location. The differences between bubble sort and selection sort lie in the number of times the data is swapped and when the algorithm ends.

Bubble sort does more swaps on each pass, in the hope that it finishes sorting the list sooner than sort by selection. Like sorting by selection, bubble sorting works by comparing two array elements at a time. Unlike sorting by selection, sorting by bubble will always compare two consecutive elements in the array and swap them if they are out of order.

If we assume that we start at the beginning of the array, that means that with each pass through the algorithm, the largest element remaining in the array will be placed in its appropriate location in the array. 