随笔 - 87  文章 - 279  trackbacks - 0
<2024年11月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

潜心看书研究!

常用链接

留言簿(19)

随笔分类(81)

文章分类(89)

相册

ACM OJ

My friends

搜索

  •  

积分与排名

  • 积分 - 214376
  • 排名 - 116

最新评论

阅读排行榜

评论排行榜

 

#include<iostream>
#include
<vector>
using namespace std;

void main()
{
    vector
<int> vec(5);
    
int fnum;
    
int tdo=0;//记录查找次数
    int low=0,high=vec.size()-1,mid;
    
for(int i=0;i<5;i++)
    
{
        vec[i]
=i+1;
    }
//假设有序数列升序

    cout
<<"please input fnum=?"<<endl;
    cin
>>fnum;

    
while(low<=high)
    
{
        mid
=(low+high)/2;
        
if(fnum==vec[mid])
        
{
            cout
<<"tdo="<<++tdo<<endl;
            cout
<<"vec["<<mid<<"]="<<fnum<<endl;
            
break;
        }

        
else if(fnum<vec[mid])
        
{
            tdo
++;
            high
=mid-1;
        }

        
else
        
{
            tdo
++;
            low
=mid+1;
        }

    }

    
if(low>high)
    
{
        cout
<<"tdo="<<++tdo<<endl;
        cout
<<"not found fnum"<<endl;
    }

}
posted on 2006-01-02 11:40 阅读(995) 评论(2)  编辑 收藏 引用 所属分类: 数据结构与算法

FeedBack:
# re: 有序数列的二分查找 2006-01-06 15:37 放逐
你好,在网上查找data abstraction adn problem solving with c++时看到了你的blog,不知道你现在看了这本书没有,书上有些问题想向你请教,看看是书上的错误还是我的理解问题。

我的qq:9828418  回复  更多评论
  
# re: 有序数列的二分查找 2006-01-06 15:43 
因为最近忙着做php的项目,所以那本书还没看^_^

我的qq:68193992  回复  更多评论
  

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理