Saturday, 31 October 2015

Occurence of a number in Sorted Array/Vector using Recursion

 #include<iostream>  
 #include<vector>  
 using namespace std;  
 int Frequency(std::vector<int> &v, int k, int start, int end)  
 {  
   if (start > end)  
     return 0;  
   int mid = (start + end) / 2;  
   if (v[mid] < k)  
     return Frequency(v, k, mid + 1, end);  
   if (v[mid] > k)  
     return Frequency(v, k, start, mid - 1);  
   return Frequency(v, k, start, mid - 1) + 1 + Frequency(v, k, mid + 1, end);  
 }  
 int main()  
 {  
   int arr[] ={2,2,3,3,5,5,5};//Sorted Array  
   std::vector<int> v(arr, arr+7);  
   int k;  
   std::cin>>k;  
   std::cout<<Frequency(v, k, 0, v.size()-1);  
   getchar();  
 }  

No comments:

Post a Comment