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

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


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

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

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

  • इंट आई, जे;

  • अनुक्रमणिका i=0 से i<सरणी आकार

    . तक ट्रैवर्स
    • अनुक्रमणिका j=0 से सरणी आकार - i - 1

      . तक ट्रैवर्स
    • अगर गिरफ्तारी [i]> गिरफ्तारी [जे] गिरफ्तारी के साथ स्वैप गिरफ्तारी [i] [जे]

  • अंत

पुनरावर्ती बबल सॉर्ट

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

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

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

उदाहरण

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

आउटपुट - क्रमबद्ध सरणी:1 2 3 4 5 7

स्पष्टीकरण -

प्रथम पास5 7 2 3 1 4 → स्वैप → 5 2 7 3 1 45 2 7 3 1 4 → स्वैप → 5 2 3 7 1 45 2 3 7 1 4 → स्वैप → 5 2 3 1 7 45 2 3 1 7 4 → स्वैप → 5 2 3 1 4 7दूसरा पास5 2 3 1 4 7 → स्वैप → 2 5 3 1 4 72 5 3 1 4 7 → स्वैप → 2 3 5 1 4 72 3 5 1 4 7 → स्वैप → 2 3 1 5 4 72 3 1 5 4 7 → स्वैप → 2 3 1 4 5 7तीसरा पास2 3 1 4 5 7 → स्वैप → 2 1 3 4 5 72 1 3 4 5 7 कोई स्वैप नहींचौथा पास2 1 3 4 5 7 → स्वैप → 1 2 3 4 5 71 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 31 2 3 2 3 → स्वैप → 1 2 2 3 31 2 2 3 3 आगे के पुनरावृत्तियों में कोई स्वैप नहींदूसरा पास1 2 2 3 3 आगे के पुनरावृत्तियों में कोई स्वैप नहीं है। पूर्व> 

नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है

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

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

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

  • एक परिवर्तनशील अस्थायी लें।

  • यदि सरणी की लंबाई 1 है तो शून्य लौटें।

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

  • अस्थायी सेट करें [i], गिरफ्तार [i] =गिरफ्तारी [i + 1] और गिरफ्तारी [i + 1] =अस्थायी।

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

  • recurbublSort(arr,len) करने के लिए पुनरावर्ती कॉल करें।

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

  • मुख्य के अंदर क्रमबद्ध सरणी को प्रिंट करें।

उदाहरण

#include void recurbublSort(int arr[], int len){ int temp; अगर (लेन ==1) {वापसी; } के लिए (int i=0; i arr[i+1]){ temp=arr[i]; गिरफ्तारी [i] =गिरफ्तार [i+1]; गिरफ्तारी [i+1]=अस्थायी; } } लेन =लेन-1; recurbublSort(arr, len);}int main(){ int Arr[] ={21, 34, 20, 31, 78, 43, 66}; int लंबाई =sizeof(Arr)/sizeof(Arr[0]); recurbublSort (गिरफ्तारी, लंबाई); प्रिंटफ ("क्रमबद्ध सरणी:"); for(int i=0;i 

आउटपुट

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

क्रमबद्ध सरणी:20 21 31 34 43 66 78

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

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

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

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

  1. चयन क्रम के लिए पायथन कार्यक्रम

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