a

[알고리즘] 이진탐색 알고리즘

박은성/ 2022. 3. 7. 16:20
반응형

 

int binarySrearchRecur(int A[], int left, int right, int key) {     
int mid;     
static int count = 0;          
if(left <= right)     {         
	count++;         
    mid = (left + right) / 2;                  
    if(key == A[mid]) 
    	return count;         
    else if(key < A[mid]) 
    	return binarySrearchRecur(A, left, mid - 1, key);         
    else 
    	return binarySrearchRecur(A, mid + 1, right, key);     
  }     
    return 0; 
}

 

 

int binarySrearchIter(int A[], int left, int right, int key) {     
int mid, count = 0;          
while(left <= right)     {         
	count++;         
    mid = (left + right) / 2;                  
    if(key == A[mid])       
    	return count;         
    else if(key < A[mid])             
    	right = mid - 1;         
    else             
    	left = mid + 1;     
  }     
  return 0; 
  }

 

int main(){
nt A[16];     
srand(time(NULL));     
for(int i = 0; i < 16; i++)        
	A[i] = 10;              
A[rand() % 16] = 9;              
for(int i = 0; i < 16; i++)         
	printf("%d ", A[i]);     
    
printf("\n");
}

 

 

반응형