k_eckelhttp://www.mscenter.edu.cn/blog/k_eckel & http://k-eckel.cnblogs.com

二分查找是提升系统的有效技术之一,特别是处理大规模的数据检索或者查询的时候,二分查找就更加表现出非凡的算法效率。并且二分查找的思想更加是值得我们好好体会和融会贯通的:

//查找 二分查找

template <class Item>

int BinSearch(const Item* data,int len,Item sData)

{

       int l = 0;

       int r = len - 1;

 

       int idx = (l + r)/2;

 

       while (data[idx] != sData)

       {

              if (data[idx] > sData)

              {

                     r = idx - 1;

              }

              else if (data[idx] < sData)

              {

                     l = idx + 1;

              }

 

              if (l > r)

              {

                     idx = -1;

                     break;

              }

              else

              {

                     idx = (l + r)/2;

              }

       }

 

       return idx;

}

Posted on 2005-08-08 15:50  k_eckel's mindview  阅读(842)  评论(2)    收藏  举报