Problem

1 /7


बुलबुले की तरह

Theory Click to read/hide

द्विघाती क्रम

क्रमबद्ध करना - किसी सरणी (सूची) के तत्वों को दिए गए क्रम में पुनर्व्यवस्थित करना है।

बबल मेथड (बबल सॉर्ट), या साधारण एक्सचेंज द्वारा सॉर्ट करें)।
शैली का एक अमर क्लासिक। कार्रवाई का सिद्धांत सरल है: हम शुरू से अंत तक सरणी के चारों ओर घूमते हैं, साथ ही साथ पड़ोसी तत्वों को छोड़े गए स्वैप करते हैं। अंतिम स्थान पर पहले पास के परिणामस्वरूप, "पॉप अप" अधिकतम तत्व। अब हम फिर से सरणी के अनसोल्ड भाग को बायपास करते हैं (पहले तत्व से लेकर एक तक) और अनसोल्ड पड़ोसियों को रास्ते में बदलते हैं। दूसरा सबसे बड़ा तत्व अंतिम स्थान पर होगा। उसी भावना को जारी रखते हुए, हम सरणी के कभी-कभी घटते हुए अनसोल्ड भाग को बायपास करेंगे, पाए गए मैक्सिमम को अंत तक धकेलेंगे।
 
स्रोत

इस एल्गोरिथम का एल्गोरिथम कार्यान्वयन
<पूर्व> J=1 से N-1 चरण 1 के लिए लूप एफ = 0 I=1 से N-J-1 चरण 1 के लिए लूप अगर ए [मैं] > ए [आई + 1] तब एक्सचेंज ए [आई], ए [आई + 1] एफ = 1 अगला मैं यदि F = 0 तब लूप से बाहर निकलें // यदि पास के दौरान कोई एक्सचेंज नहीं था,   // अर्थात सभी तत्व   // क्रम में व्यवस्थित अगला जे इस एल्गोरिदम की जटिलता: \(\displaystyle O(n^{2})\)


अतिरिक्त उपयोगी जानकारी: विकिपीडिया लेख

 

Problem

"बबल" पद्धति का उपयोग करके सरणी को गैर-अवरोही क्रम में सॉर्ट करना आवश्यक है।
 
इनपुट
पहली पंक्ति में एक प्राकृत संख्या N होती है जो 1000 से अधिक नहीं होती है - N; सरणी आकार। दूसरी पंक्ति में N संख्याएं होती हैं – सरणी तत्व (मॉड्यूलो में पूर्णांक 1000 से अधिक नहीं)।
 
आउटपुट
परिणामी सरणी को आउटपुट करें।
 
उदाहरण
<टेबल क्लास = "टेबल-बॉर्डर्ड टेबल-लिस्ट-टेस्ट टेबल-एसएम टेबल-स्ट्राइप्ड"> <सिर> <वें># <वें>इनपुट <वें>आउटपुट <शरीर> 1 <टीडी>
5
5 4 3 2 1
1 2 3 4 5