标签:
二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。
C++源代码:
1 // 二分查找.cpp : 定义控制台应用程序的入口点。 2 // 3 4 #include "stdafx.h" 5 #include<iostream> 6 using namespace std; 7 /****二分查找函数,长度为length的数组a中查找num,如果查找成功返回下标,否则返回0**/ 8 int binsearch(int *a,int length,int num) 9 { 10 int small=0; 11 int big=length-1; 12 int mid; 13 while(small<big) 14 { 15 mid=(small+big)/2; 16 if(a[mid]==num) 17 { 18 return mid; 19 } 20 else 21 { 22 if(a[mid]<num) 23 { 24 big=mid-1; 25 } 26 if(a[mid]>num) 27 { 28 big=mid+1; 29 } 30 } 31 } 32 return -1; 33 } 34 int _tmain(int argc, _TCHAR* argv[]) 35 { 36 int num[5]={1,2,4,6,8}; 37 cout<<binsearch(num,5,4)<<endl; 38 cout<<binsearch(num,5,9)<<endl; 39 return 0; 40 }
标签:
原文地址:http://www.cnblogs.com/bewolf/p/4332295.html