• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

C++ 二分查找算法

OC/C/C++ 水墨上仙 3034次浏览

C++ 二分查找算法

//Binary search 
//Programming by : Erfan Nasoori
//Mail : ketn68@yahoo.com
Date of send : 2009/2/1
#include <iostream>
#include <conio>
int binarysearch(int[],int,int);
int main()
{
 int sortedArray[100];
 int key,n,hold,F,L,k,G,i;
 cout<<"How many :";
 cin>>n;
 cout<<"Enter numbers :\n";
 for(int i=0;i<n;++i)
 {
  cout<<"number["<<(i+1)<<"] = ";
  cin>>sortedArray[i];
 }
 for(int l=1;l<=n-1;++l)
  for(int j=0;j<(n-l);++j)
  if(sortedArray[j]>sortedArray[j+1])
  {
	hold=sortedArray[j];
	sortedArray[j]=sortedArray[j+1];
	sortedArray[j+1]=hold;
  }
 cout<<"sorted numbers:";
 for( i=0;i<n;++i)
 cout<<sortedArray[i]<<'\t';
 cout<<"\nkey:";
 cin>>key;
 G=binarysearch(sortedArray,n,key);
 if(G == -1)
    cout<<"It didn't found!";
 else
    cout<<"\nIts index = "<<G<<endl;
 getch();
 return 0;
}   //end of main
//////////////////////////////////////////////////////////
int binarysearch(int sortedArray[], int n, int key)
{
 int first=0,last=n-1;
 while (first <= last)
 {
   int mid = (first + last) / 2;
   if (key > sortedArray[mid])
      first = mid + 1;
   else if (key < sortedArray[mid])
      last = mid - 1;
   else
      return mid;
 }
 return -1;
}


开心洋葱 , 版权所有丨如未注明 , 均为原创丨未经授权请勿修改 , 转载请注明C++ 二分查找算法
喜欢 (0)
加载中……