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

C++ में दिए गए सरणी में किसी तत्व को रैखिक रूप से खोजने के लिए पुनरावर्ती प्रोग्राम

किसी भी क्रम में पूर्णांक संख्या वाले पूर्णांक सरणी Arr[] को देखते हुए। लक्ष्य सरणी पर पुनरावर्ती खोज का उपयोग करके सरणी में मौजूद इनपुट पूर्णांक वैल को खोजना है।

यदि इनपुट सरणी Arr[] में वैल नहीं मिलता है तो -1 लौटाएं। Arr[] में पाए जाने पर वैल का इंडेक्स प्रिंट करें।

उदाहरण

इनपुट −Arr[] ={11,43,24,50,93,26,78} वैल=26

आउटपुट - 26 इंडेक्स 5 पर पाया गया

स्पष्टीकरण -

Elements in the array start from index 0 to index=array length -1.
First index=0 last index=6 : 11 != 26, 78 != 26 → 0+1 , 6-1
First index=1 last index=5 : 43 != 26, 26 = 26 return 5
26 is present at index 5.

इनपुट - Arr[] ={11,43,24,50,93,26,78} वैल=66

आउटपुट - 66 मौजूद नहीं है

स्पष्टीकरण -

Elements in the array start from index 0 to index=array length -1.
First index=0 last index=6 : 11 != 66, 78 != 66 → 0+1 , 6-1
First index=1 last index=5 : 66 != 26, 66 != 26 → 1+1 , 5-1
First index=2 last index=4 : 24 != 66, 93 != 66 → 2+1 , 4-1
First index=3 last index=3 : 50 != 26, 50 != 26 → 3+1 , 3-1
First index=3 last index=2 3>2 end
66 not found.

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

इस दृष्टिकोण में हम सरणी को दोनों सिरों से रैखिक रूप से पार करेंगे। दोनों सिरों पर तत्वों के साथ इनपुट मान की तुलना करें। यदि पाया जाता है, तो इंडेक्स को वापस लौटाएं और अगले तत्वों के लिए पहले इंडेक्स =पिछला पहला इंडेक्स + 1 और आखिरी इंडेक्स =पिछला आखिरी इंडेक्स -1 के साथ दोबारा जांचें। मामले में पहली अनुक्रमणिका>अंतिम अनुक्रमणिकाफिर तत्व नहीं मिला।

  • पूर्णांक तत्वों के साथ इनपुट सरणी Ar[] लें।

  • वैल के रूप में खोजे जाने वाले तत्व को लें।

  • फ़ंक्शन searchRec(int arr[], int start,int end, int num) एक सरणी लेता है, पहली और आखिरी अनुक्रमणिका और मान संख्या जिसे खोजा जाना है और यदि पाया जाता है तो अनुक्रमणिका लौटाता है।

  • परिवर्तनीय परिणाम को -99 के रूप में लें।

  • अगर arr[start] ==​​num तो परिणाम को start के रूप में सेट करें

  • अगर arr[end] ==num तो परिणाम को अंत के रूप में सेट करें

  • अगर (प्रारंभ> अंत) तो परिणाम =-1 सेट करें। पूरे सरणी को पार करने के रूप में

  • यदि परिणाम का मान -99 के अलावा अन्य है, तो परिणाम लौटाएं अन्यथा searchRec(arr, start + 1, end-1, num)

    का उपयोग करके पुनरावर्ती रूप से खोजें।
  • मुख्य चेक वापसी मूल्य के अंदर और तदनुसार प्रिंट परिणाम

उदाहरण

#include<bits/stdc++.h>
using namespace std;
int searchRec(int arr[], int start,int end, int num){
   int result=-99;
   if (start > end){
      result= -1;
   }
   if (arr[start] == num){
      result=start;
   }
   if (arr[end] == num){
      result=end;
   }
   if( result!=-99){
      return result;
   }
   return searchRec(arr, start + 1, end - 1, num);
}
int main(){
   int Arr[] = {11,43,22,56,33,26,78};
   int i;
   int len = sizeof(Arr) / sizeof(Arr[0]);
   int val = 56;
   int pos = searchRec(Arr, 0, len - 1, val);
   if (pos == -1){
      cout<<val<<" is not present" ;
   }
   else{
      cout<<val<<" found at index "<<pos;
   }
   return 0;
}

आउटपुट

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

56 found at index 3

  1. C++ प्रोग्राम लीनियर सर्च का उपयोग करके किसी ऐरे में न्यूनतम तत्व ढूँढ़ने के लिए

    रैखिक खोज दृष्टिकोण का उपयोग करके सरणी के न्यूनतम तत्व को खोजने के लिए यह एक सी ++ प्रोग्राम है। इस कार्यक्रम की समय जटिलता O(n) है। एल्गोरिदम Begin Assign the data element to an array. Assign the value at ‘0’ index to minimum variable. Compare minimum with other data element se

  1. सी ++ प्रोग्राम एक ऐरे का सबसे बड़ा तत्व खोजने के लिए

    एक सरणी में कई तत्व होते हैं और एक सरणी में सबसे बड़ा तत्व वह होता है जो अन्य तत्वों से बड़ा होता है। उदाहरण के लिए। 5 1 7 2 4 उपरोक्त सरणी में, 7 सबसे बड़ा तत्व है और यह इंडेक्स 2 पर है। किसी सरणी के सबसे बड़े तत्व को खोजने का प्रोग्राम इस प्रकार दिया गया है। उदाहरण #include <iostream> u

  1. जावा प्रोग्राम एक सरणी में एक तत्व को पुनरावर्ती रूप से रैखिक रूप से खोजने के लिए

    इस लेख में, हम समझेंगे कि किसी सरणी में किसी तत्व को पुनरावर्ती रूप से रैखिक रूप से कैसे खोजा जाए। रैखिक खोज एक बहुत ही सरल खोज एल्गोरिथम है जिसमें एक-एक करके सभी मदों के लिए क्रमिक खोज की जाती है। नीचे उसी का एक प्रदर्शन है - मान लीजिए कि हमारा इनपुट है - Input array: 14 20 35 47 50 65 72 81 90 9