Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

रिकर्सिव बबल सॉर्ट के लिए C प्रोग्राम


बबल सॉर्ट आसन्न तत्वों की तुलना करके डेटा को सॉर्ट करने के लिए उपयोग किए जाने वाले सबसे सरल सॉर्टिंग एल्गोरिदम में से एक है। सभी तत्वों की तुलना चरणों में की जाती है। पहला चरण सबसे बड़े मान को अंत में रखता है, दूसरा चरण दूसरे सबसे बड़े तत्व को अंत से दूसरी स्थिति में रखता है और इसी तरह जब तक पूरी सूची सॉर्ट नहीं हो जाती।

बबल सॉर्ट एल्गोरिदम

  • int arr[5]= { 5,4,2,1,3 };

  • int i, j ;

  • इंडेक्स i=0 से i

    • इंडेक्स j=0 से array size - i - 1 तक ट्रैवर्स करें

    • यदि arr[i]>arr[j] तो arr[i] को arr[j] से स्वैप करें

  • समाप्त

रिकर्सिव बबल सॉर्ट

  • यदि सरणी की लंबाई 1 है तो वापस लौटें

  • सरणी को एक बार ट्रैवर्स करें और सबसे बड़े तत्व को अंत में ठीक करें

  • अंतिम तत्व को छोड़कर शेष सरणी के लिए चरण 2 को रिकर्सिवली निष्पादित करें

उदाहरण

इनपुट - Arr[] = { 5,7,2,3,1,4 }; लंबाई=6

आउटपुट - सॉर्ट की गई सरणी: 1 2 3 4 5 7

व्याख्या -

पहला पास 5 7 2 3 1 4 → स्वैप → 5 2 7 3 1 4 5 2 7 3 1 4 → स्वैप → 5 2 3 7 1 4 5 2 3 7 1 4 → स्वैप → 5 2 3 1 7 4 5 2 3 1 7 4 → स्वैप → 5 2 3 1 4 7 दूसरा पास 5 2 3 1 4 7 → स्वैप → 2 5 3 1 4 7 2 5 3 1 4 7 → स्वैप → 2 3 5 1 4 7 2 3 5 1 4 7 → स्वैप → 2 3 1 5 4 7 2 3 1 5 4 7 → स्वैप → 2 3 1 4 5 7 तीसरा पास 2 3 1 4 5 7 → स्वैप → 2 1 3 4 5 7 2 1 3 4 5 7 कोई स्वैप नहीं चौथा पास 2 1 3 4 5 7 → स्वैप → 1 2 3 4 5 7 1 2 3 4 5 7 आगे की पुनरावृत्तियों में कोई स्वैप नहीं

इनपुट - Arr[] = { 1, 2, 3, 3, 2 };

आउटपुट - सॉर्ट की गई सरणी: 1 2 2 3 3

व्याख्या -

पहला पास 1 2 3 3 2 → स्वैप → 1 2 3 2 3 1 2 3 2 3 → स्वैप → 1 2 2 3 3 1 2 2 3 3 आगे की पुनरावृत्तियों में कोई स्वैप नहीं दूसरा पास 1 2 2 3 3 आगे की पुनरावृत्तियों में कोई स्वैप नहीं

नीचे दिए गए प्रोग्राम में उपयोग किया गया दृष्टिकोण

बबल सॉर्ट के रिकर्सिव दृष्टिकोण में, आधार मामला सरणी की लंबाई = 1 है। अन्यथा सिंगल फॉर लूप का उपयोग करके सरणी को ट्रैवर्स करें और तत्वों को तदनुसार स्वैप करें।

  • इनपुट सरणी Arr[] और लंबाई को इसमें तत्वों की संख्या के रूप में लें।

  • फ़ंक्शन recurbublSort(int arr[], int len) सरणी और उसकी लंबाई लेता है और बबल सॉर्ट का उपयोग करके सरणी को रिकर्सिवली सॉर्ट करता है।

  • एक वेरिएबल temp लें।

  • यदि सरणी की लंबाई 1 है तो void वापस लौटें।

  • अन्यथा सिंगल फॉर लूप का उपयोग करके सरणी को ट्रैवर्स करें और प्रत्येक तत्व arr[i]>arr[i+1] के लिए, उन तत्वों को स्वैप करें।

  • temp=arr[i] सेट करें, arr[i]=arr[i+1] और arr[i+1]=temp।

  • अब लंबाई को 1 से घटाएं क्योंकि पिछले लूप ने सबसे बड़े तत्व को अंतिम स्थिति में रख दिया।

  • recurbublSort(arr,len) को रिकर्सिव कॉल करें।

  • सभी कॉल्स के अंत में, जब len 1 हो जाता है तो हम रिकर्सन से बाहर आ जाएंगे और सरणी सॉर्ट हो जाएगी।

  • main के अंदर सॉर्ट की गई सरणी प्रिंट करें।

उदाहरण

#include <stdio.h> 
void recurbublSort(int arr[], int len){ 
    int temp; 
    if (len == 1){ 
        return; 
    } 
    for (int i=0; i arr[i+1]){ 
            temp=arr[i]; 
            arr[i]=arr[i+1]; 
            arr[i+1]=temp; 
        } 
    } 
    len=len-1; 
    recurbublSort(arr, len); 
} 
int main(){ 
    int Arr[] = {21, 34, 20, 31, 78, 43, 66}; 
    int length = sizeof(Arr)/sizeof(Arr[0]); 
    recurbublSort(Arr, length); 
    printf("Sorted array : "); 
    for(int i=0;i

आउटपुट

यदि हम उपरोक्त कोड चलाते हैं तो यह निम्नलिखित आउटपुट उत्पन्न करेगा

सॉर्ट की गई सरणी: 20 21 31 34 43 66 78

  1. पायथन प्रोग्राम: कॉकटेल सॉर्ट पायथन प्रोग्राम: कॉकटेल सॉर्ट

    इस लेख में हम दी गई समस्या के समाधान के बारे में जानेंगे। समस्या कथन हमें एक सूची दी गई है, हमें दी गई सूची पर बिटोनिक सॉर्ट करना है और सूची प्रदर्शित करनी है। कॉकटेल सॉर्ट यहां सॉर्ट बबल सॉर्ट की तरह होता है जहां पुनरावृत्ति दोनों दिशाओं में होती है। एल्गोरिदम सबसे पहले सरणी को बाएं से दाएं पार किय

  1. पायथन प्रोग्राम: बबल सॉर्ट एल्गोरिदम पायथन प्रोग्राम: बबल सॉर्ट एल्गोरिदम

    इस लेख में, हम बबल सॉर्ट सॉर्टिंग तकनीक के कार्यान्वयन के बारे में जानेंगे।नीचे दिखाई गई आकृति इस एल्गोरिदम के कार्य को दर्शाती है -दृष्टिकोणपहले तत्व (इंडेक्स = 0) से शुरू करके, वर्तमान तत्व की तुलना सरणी के अगले तत्व से करें।यदि वर्तमान तत्व सरणी के अगले तत्व से बड़ा है, तो उन्हें स्वैप करें।यदि व

  1. पायथन प्रोग्राम: सिलेक्शन सॉर्ट एल्गोरिदम पायथन प्रोग्राम: सिलेक्शन सॉर्ट एल्गोरिदम

    इस लेख में, हम पायथन 3.x या उससे पहले के संस्करण में सिलेक्शन सॉर्ट और इसके कार्यान्वयन के बारे में जानेंगे।सिलेक्शन सॉर्ट एल्गोरिदम में, एक सरणी को अनसॉर्टेड भाग से न्यूनतम तत्व को पुनरावर्ती रूप से ढूंढकर और इसे शुरुआत में डालकर सॉर्ट किया जाता है। दिए गए सरणी पर सिलेक्शन सॉर्ट के निष्पादन के दौरा