हमें सरणियों की एक 'n' संख्या दी गई है, मान लीजिए कि हम पूर्णांक प्रकार के तीन सरणियाँ अर्थात् arr1[], arr2[] और arr3[] लेते हैं। कार्य सभी दिए गए पूर्णांक सरणियों को इस तरह से मर्ज करना है कि परिणामी सरणी केवल रनटाइम में क्रमबद्ध हो।
उदाहरण के साथ समझते हैं
इनपुट -
इंट
a[]={21,22,23,24};
इंट बी[ ] ={28,31,35}
आउटपुट -इंट परिणाम [ ]={21,22,23,24,28,31,35}।
स्पष्टीकरण - सरणी तत्वों की तुलना परिणामी सरणी में उनकी उपयुक्त स्थिति के अनुसार जोड़ने और जोड़ने से पहले की जाती है।
इनपुट -
इंट
a[]={1,3,5,7,9,11,13};
इंट बी[ ] ={14,16,18}
इंट सी[ ] ={19,20,21,22}
आउटपुट - परिणामी परिणाम[ ]={1,3,5,7,9,11,13,14,16,18,19,20,21,22}।
स्पष्टीकरण −सरणी तत्वों को जोड़ने से पहले उनकी तुलना की जाती है और परिणामी सरणी में उनकी उपयुक्त स्थिति के अनुसार जोड़ा जाता है।
नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है -
-
इनपुट तीन पूर्णांक सरणियाँ मान लें, arr1 [], arr2 [] और arr3 [] और परिणाम के रूप में एक परिणामी सरणी [] और इसे mergeSortedArray (नया int [] [] {arr1, arr2, arr3 के रूप में एक विधि के लिए कॉल पर सेट करें })
-
विधि के अंदर mergeSortedArray(new int[][] {arr1, arr2, arr3})
-
एक वेरिएबल को प्रकार की प्राथमिकता कतार और एक वैरिएबल एस्टोटल की कतार के रूप में बनाएं और इसे 0 पर सेट करें।
-
एक सरणी की लंबाई तक i से 0 के लिए लूप प्रारंभ करें और एक सरणी की बाल्टी से तत्व को कतार के रूप में घोषित चर में जोड़ें और कुल + arr [i]। लंबाई।
पर सेट करें। -
एम को 0 पर सेट करें और परिणाम घोषित करें [] पूर्णांक सरणी।
-
कतार के दौरान प्रारंभ करें। add(newArrayBucket(ac.arr, ac.index + 1))
-
वापसी परिणाम
-
उदाहरण
आयात करें इंट इंडेक्स; सार्वजनिक ऐरेबकेट (int [] arr, int अनुक्रमणिका) {this.arr =arr; this.index =अनुक्रमणिका; } @ ओवरराइड पब्लिक इंट कम्पेयर टू (ऐरेबकेट ओ) {इसे लौटाएं। }}पब्लिक क्लास टेस्टक्लास{पब्लिक स्टैटिक इंट[] मर्जसॉर्टेडअरे(int[][] arr){ प्रायोरिटी क्यूयू<एरेबकेट> क्यू =नई प्रायोरिटी क्यू <एरेबकेट>(); इंट कुल =0; के लिए (int i =0; iआउटपुट
यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा
अंतिम मर्ज की गई क्रमबद्ध सरणी है:- [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]