Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

C++ में दो क्रमबद्ध सरणी का K-वें तत्व

इस ट्यूटोरियल में, हम एक प्रोग्राम लिखने जा रहे हैं जो दो सॉर्ट किए गए एरे के मर्ज किए गए ऐरे से k-th एलिमेंट ढूंढता है।

आइए समस्या को हल करने के लिए चरणों को देखें।

  • दो क्रमबद्ध सरणियों को प्रारंभ करें।
  • m + n आकार की एक खाली सरणी प्रारंभ करें।
  • दो सरणियों को नई सरणी में मिलाएँ।
  • मर्ज किए गए सरणी से k-1 तत्व लौटाएं।

उदाहरण

आइए कोड देखें।

#include <iostream>
using namespace std;
int findKthElement(int arr_one[], int arr_two[], int m, int n, int k) {
   int sorted_arr[m + n];
   int i = 0, j = 0, index = 0;
   while (i < m && j < n) {
      if (arr_one[i] < arr_two[j]) {
         sorted_arr[index++] = arr_one[i++];
      }else {
         sorted_arr[index++] = arr_two[j++];
      }
   }
   while (i < m) {
      sorted_arr[index++] = arr_one[i++];
   }
   while (j < n) {
      sorted_arr[index++] = arr_two[j++];
   }
   return sorted_arr[k - 1];
}
int main() {
   int arr_one[5] = {1, 3, 5, 7, 9}, arr_two[5] = {2, 4, 6, 8, 10};
   int k = 7;
   cout << findKthElement(arr_one, arr_two, 5, 4, k) << endl;
   return 0;
}

आउटपुट

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

7

निष्कर्ष

यदि ट्यूटोरियल में आपके कोई प्रश्न हैं, तो उनका टिप्पणी अनुभाग में उल्लेख करें।


  1. सी ++ में दो क्रमबद्ध सरणी के सापेक्ष पूरक खोजें

    मान लीजिए कि हमारे पास दो क्रमबद्ध सरणियाँ हैं arr1 और arr2, वहाँ आकार क्रमशः m और n हैं। हमें दो सरणियों के सापेक्ष पूरक खोजने होंगे। इसका मतलब है कि हमें उन सभी तत्वों को खोजने की जरूरत है जो arr1 में मौजूद हैं, लेकिन arr2 में नहीं। तो अगर एरे ए =[3, 6, 10, 12, 15], और बी =[1, 3, 5, 10, 16] की तरह

  1. सी ++ का उपयोग करके दो क्रमबद्ध सरणी मर्ज करें।

    समस्या कथन 2 क्रमबद्ध सरणियों की सूची दी गई। दिए गए दो क्रमबद्ध सरणियों को एक में मिलाने के लिए एक फ़ंक्शन लिखें Arr1[] = {10,15, 17, 20} Arr2[] = {5, 9, 13, 19} Result[] = {5, 9, 10, 13, 15, 17, 19, 20} एल्गोरिदम 1. Traverse both array    1.1. If arr1[i] < arr2[j]      

  1. सी ++ में क्रमबद्ध क्रम में दो क्रमबद्ध सरणी विलय करना।

    समस्या कथन एक ऐसा फ़ंक्शन लिखें जो दो अवर्गीकृत सरणियों को लेता है और उन्हें क्रमबद्ध क्रम में एक नए सरणी में मिला देता है। arr1[] = {10, 5, 7, 2} arr2[] = {4, 17, 9, 3} result[] = {2, 3, 4, 5, 7, 9, 10, 17} एल्गोरिदम 1. Merge two unsorted array into new array 2. Sort newly create array उदाहरण #inc