Skip to content
Related Articles

Related Articles

C++ Program for Bubble Sort
  • Difficulty Level : Easy
  • Last Updated : 12 Feb, 2018

Bubble Sort is the simplest sorting algorithm that works by repeatedly swapping the adjacent elements if they are in wrong order.

// Optimized implementation of Bubble sort
#include <stdio.h>
void swap(int *xp, int *yp)
    int temp = *xp;
    *xp = *yp;
    *yp = temp;
// An optimized version of Bubble Sort
void bubbleSort(int arr[], int n)
   int i, j;
   bool swapped;
   for (i = 0; i < n-1; i++)
     swapped = false;
     for (j = 0; j < n-i-1; j++)
        if (arr[j] > arr[j+1])
           swap(&arr[j], &arr[j+1]);
           swapped = true;
     // IF no two elements were swapped by inner loop, then break
     if (swapped == false)
/* Function to print an array */
void printArray(int arr[], int size)
    int i;
    for (i=0; i < size; i++)
        printf("%d ", arr[i]);
// Driver program to test above functions
int main()
    int arr[] = {64, 34, 25, 12, 22, 11, 90};
    int n = sizeof(arr)/sizeof(arr[0]);
    bubbleSort(arr, n);
    printf("Sorted array: \n");
    printArray(arr, n);
    return 0;

Please refer complete article on Bubble Sort for more details!

Want to learn from the best curated videos and practice problems, check out the C++ Foundation Course for Basic to Advanced C++ and C++ STL Course for the language and STL.  To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

My Personal Notes arrow_drop_up
Recommended Articles
Page :