写一个函数用折半查找法查找

//写一个函数用折半查找法查找
#include<stdio.h>
int find(int x,int ar[],int n)  //x表示要查找的数,必须在数组中存在
{   
   int p=0;   //左边下标
   int q=n-1; //右边下标
   int mid=0;
   while(p < q)
   {
	  mid=(p+q)/2;
	 if(x > ar[mid])
	  {
	    p = mid;
	  }
     else if(x < ar[mid])
	  {
	    q = mid;
	  }
	 else
	 {
	  printf("%d\n",ar[mid]);
	  break;
	 }
   }
     return 0;
}

 int main()
  {
	int arr[]={0,1,2,3,4,5,6,7,8,9};   // 假设数组arr[]已经按升序排列
    find(8,arr,10);  
	return 0;
  }

你可能感兴趣的:(写一个函数用折半查找法查找)