Программа C ++ для рекурсивной пузырьковой сортировки
Опубликовано: 20 Января, 2022
Пузырьковая сортировка - это простейший алгоритм сортировки, который работает, многократно меняя местами соседние элементы, если они находятся в неправильном порядке.
Ниже приводится итеративный алгоритм пузырьковой сортировки:
// Итеративная пузырьковая сортировка bubbleSort (arr [], n) { для (я = 0; я <п-1; я ++) // Последние i элементов уже на месте для (j = 0; j <ni-1; j ++) если (arr [j]> arr [j + 1]) своп (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 last element of current subarray.
- Recur for all elements except last of current subarray.
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 ( "
" ); } // 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 :
" ); printArray(arr, n); return 0; } |
Please refer complete article on Recursive Bubble Sort for more details!
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more, please refer Complete Interview Preparation Course.
In case you wish to attend live classes with industry experts, please refer Geeks Classes Live and Geeks Classes Live USA