二分查找

#include <iostream>
#include <string>
using namespace std;

int MidSearch(int data[],int low,int high,int x){
  int length = sizeof( data ) / sizeof( *data );
  int mid;
  while(low<=high){
  	mid = (low+high)/2;
  	if(data[mid] == x){
	  	return mid;
  	}else if(data[mid]>x){
  		high = mid-1;	
  	}else{
		low = mid+1;
  	}
  }
}
int main(int argc, char *argv[])
{
	int data[] = {1,5,3,9,21,4,7,1,4};
  int low = 0;
  int high = 8;
  int x = 9;
  int y;
  y = MidSearch(data,low,high,x);
  cout<<y;
	cout<<"Hello C-Free!"<<endl;
	return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章