C++ Program for Recursive Bubble Sort Last Updated : 23 Jul, 2025 Comments Improve Suggest changes 4 Likes Like Report Background: Bubble Sort is the simplest sorting algorithm that works by repeatedly swapping the adjacent elements if they are in the wrong order. Following is the iterative Bubble sort algorithm : // Iterative Bubble Sort bubbleSort(arr[], n) { for (i = 0; i n-1; i++) // Last i elements are already in place for (j = 0; j < n-i-1; j++) swap(arr[j], arr[j+1]); } Recursion Idea Base Case: If array size is 1, return.Do One Pass of normal Bubble Sort? This pass fixes the last element of the current subarray.Recur for all elements except the last of the current subarray. Recursive Bubble Sort Implementation in C++ C++ // C/C++ program for recursive implementation // of Bubble sort #include <bits/stdc++.h> using namespace std; // A function to implement bubble sort void bubbleSort(int arr[], int n) { // Base case if (n == 1) return; // One pass of bubble sort. After // this pass, the largest element // is moved (or bubbled) to end. for (int i = 0; i < n - 1; i++) if (arr[i] > arr[i + 1]) swap(arr[i], arr[i + 1]); // Largest element is fixed, // recur for remaining array bubbleSort(arr, n - 1); } /* Function to print an array */ void printArray(int arr[], int n) { for (int i = 0; i < n; i++) printf("%d ", arr[i]); printf("\n"); } // 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; } OutputSorted array : 11 12 22 25 34 64 90 Time Complexity: O(n*n)Auxiliary Space: O(1) Please refer complete article on Recursive Bubble Sort for more details! Create Quiz Comment K kartik Follow 4 Improve K kartik Follow 4 Improve Article Tags : Sorting C++ Programs DSA BubbleSort Explore DSA FundamentalsLogic Building Problems 2 min read Analysis of Algorithms 1 min read Data StructuresArray Data Structure 3 min read String in Data Structure 2 min read Hashing in Data Structure 2 min read Linked List Data Structure 3 min read Stack Data Structure 2 min read Queue Data Structure 2 min read Tree Data Structure 2 min read Graph Data Structure 3 min read Trie Data Structure 15+ min read AlgorithmsSearching Algorithms 2 min read Sorting Algorithms 3 min read Introduction to Recursion 15 min read Greedy Algorithms 3 min read Graph Algorithms 3 min read Dynamic Programming or DP 3 min read Bitwise Algorithms 4 min read AdvancedSegment Tree 2 min read Binary Indexed Tree or Fenwick Tree 15 min read Square Root (Sqrt) Decomposition Algorithm 15+ min read Binary Lifting 15+ min read Geometry 2 min read Interview PreparationInterview Corner 3 min read GfG160 3 min read Practice ProblemGeeksforGeeks Practice - Leading Online Coding Platform 1 min read Problem of The Day - Develop the Habit of Coding 5 min read Like