2 점 찾기 - 코드 간소화 - 데이터 구조

4169 단어 이분 찾기

! 。

  1. //  
  2. //right=n-1 => while(left <= right) => right=middle-1;   
  3. //right=n   => while(left <  right) => right=middle;   
  4. //middle while , 。   
  5.    
  6. int binary_search(int array[],int n,int value)   
  7. {   
  8.     int left=0;   
  9.     int right=n-1;   
  10.     // int right = n  , , :   
  11.     //1、 while(left < right)   
  12.     //2、 array[middle]>value  ,right = mid   
  13.    
  14.     while (left<=right)          // ,    
  15.     {   
  16.         int middle=left + ((right-left)>>1);  // , 。 , 。   
  17.    
  18.         if (array[middle]>value)   
  19.         {   
  20.             right =middle-1;   //right ,    
  21.         }    
  22.         else if(array[middle]<value)   
  23.         {   
  24.             left=middle+1;   
  25.         }   
  26.         else   
  27.             return middle;     
  28.         // ,    
  29.         // ,    
  30.     }   
  31.     return -1;   

가방 가방
 
가방 가방
 
 
가방 가방
 
 
 
 

좋은 웹페이지 즐겨찾기