इस खंड में हम प्रसिद्ध बबल सॉर्ट तकनीक का एक और तरीका देखेंगे। हमने बबल सॉर्ट का उपयोग पुनरावृत्त तरीके से किया है। लेकिन यहां हम बबल प्रकार के पुनरावर्ती दृष्टिकोण को देखेंगे। पुनरावर्ती बबल सॉर्ट एल्गोरिथ्म इस तरह दिखता है।
एल्गोरिदम
bubbleRec(arr, n)
begin if n = 1, return for i in range 1 to n-2, do if arr[i] > arr[i+1], then exchange arr[i] and arr[i+1] end if done bubbleRec(arr, n-1) end
उदाहरण
#include<iostream> using namespace std; void recBubble(int arr[], int n){ if (n == 1) return; for (int i=0; i<n-1; i++) //for each pass p if (arr[i] > arr[i+1]) //if the current element is greater than next one swap(arr[i], arr[i+1]); //swap elements recBubble(arr, n-1); } main() { int data[] = {54, 74, 98, 154, 98, 32, 20, 13, 35, 40}; int n = sizeof(data)/sizeof(data[0]); cout << "Sorted Sequence "; recBubble(data, n); for(int i = 0; i <n;i++){ cout << data[i] << " "; } }
आउटपुट
Sorted Sequence 13 20 32 35 40 54 74 98 98 154