Advertisement
apl-mhd

BinarySearch

Feb 13th, 2017
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.70 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdio>
  3. using namespace std;
  4.  
  5. void  sortArray(int number[], int n){   /*sorting element*/
  6.  
  7.         int i, j, temp;
  8.         for(i=0;  i<n-1;  i++){
  9.  
  10.                 for(j=0;  j<n-i-1;  j++){
  11.  
  12.                     if(number[j] > number[j+1]){
  13.  
  14.                          temp  =    number[j]  ;
  15.                             number[j] = number[j+1];
  16.                             number[j+1] = temp;
  17.                     }
  18.     }
  19.         }
  20.  
  21. }
  22.  
  23.  
  24.  int  bSearch(int number[], int  n, int item){ /*searching element*/
  25.  
  26.             int low =0, high = n-1,mid;
  27.  
  28.  
  29.             while(low <=high ){
  30.  
  31.                     mid = (low + high) / 2;
  32.  
  33.                     if(number[mid] ==  item){
  34.  
  35.                      //   printf("found");
  36.  
  37.                         return 1;
  38.                       //  break;
  39.                     }
  40.  
  41.                     else if( number[mid] > item){
  42.  
  43.                                 high = mid-1;
  44.                     }
  45.  
  46.                     else {
  47.  
  48.                             low = mid+1;
  49.                     }
  50.  
  51.  
  52.             }
  53.  
  54.         return 0;
  55.  }
  56.  
  57.  
  58.  
  59. int main()
  60. {
  61.     int number[10], n, i, flag, item;
  62.  
  63.     printf("array size:");
  64.     cin>>n;
  65.  
  66.  
  67.     printf("Enter element:");
  68.  
  69.     for(i=0; i<n; i++)
  70.  
  71.         scanf("%d",&number[i]);
  72.  
  73.     sortArray(number, n);  /*sorting function call*/
  74.  
  75.     printf("search item:");
  76.  
  77.     scanf("%d",&item);
  78.  
  79.        flag= bSearch(number, n, item);  /*search function call*/
  80.  
  81.         if(flag == 1)
  82.  
  83.             printf("Found");
  84.  
  85.         else
  86.  
  87.             printf(" not Found");
  88.  
  89. /*
  90.       for(i=0; i<n; i++){
  91.  
  92.             printf(" %d ", number[i]);
  93.  
  94.  
  95.     } */
  96.  
  97.     return 0;
  98. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement