Binary Search Kod

Binary Search C++ Kod

#include <iostream>

using namespace std;
void binarySearch(int arr[], int n, int key){
	int lower=0, upper=n-1, pivot, isFind=0;
	while(lower<=upper){
		pivot = (lower+upper)/2;
		if(key == arr[pivot]){
			cout << pivot << ". indisde bulundu." << endl;
			isFind = 1;
			break;
		}else{
			if(key>arr[pivot]){
				lower = pivot+1;
			}else{
				upper = pivot-1;
			}
		}
	}
	if(isFind == 0){
		cout << "Bulunamadi!" << endl;
	}
}
int binary_search(int arr[], int key, int lower, int upper){
	if(lower<=upper){
		int pivot = (lower+upper)/2;
		if(key == arr[pivot]){
			return pivot;
		}else if(key < arr[pivot]){
			return binary_search(arr, key, lower, pivot-1);
		}else{
			return binary_search(arr, key, pivot+1, upper);
		}
	}
	return -1;
}
int main(){
	int dizi[10] = {2,3,7,9,12,16,23,25,25,80};
	binarySearch(dizi, 10, 9);
	int bS = binary_search(dizi, 99, 0, 9);
	if(bS != -1){
		cout << bS << ". indiste bulundu!" << endl;
	}else{
		cout << "Bulunamadi!" << endl;;
	}
}

 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir