二分查找

来源:互联网 发布:潮阳园艺三角梅淘宝店 编辑:程序博客网 时间:2024/06/03 01:08

#include <iostream>
using namespace std;


void shell(int arr[],int n,int x);//n为数组个数,x为被查找数

int main()
{
      int arr[]={5,8,10,13,15,19,21,30,45,48};
      shell(arr,10,8);
}

void shell(int arr[],int n,int x)
{
      int left=0,right=n-1;

 while(left<=right)
 {
       int middle=(left+right)/2;

       if(arr[middle]==x)
       {
             cout<<"查找数在数组当中第"<<middle+1<<"个"<<endl;
             return;
       }
       else 
             if(x<arr[middle])
             {
                   right=middle-1;
             }
             else
             {
                   left=middle+1;
             }
 }
 cout<<"查找的数没有在数组当中……"<<endl;

原创粉丝点击