<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 312, 文章 - 14, 評論 - 1393, 引用 - 0
    數(shù)據(jù)加載中……

    拆半查找的遞歸和非遞歸算法

    本文為原創(chuàng),如需轉(zhuǎn)載,請注明作者和出處,謝謝!

    #include <stdio.h>  

    int binary_search(int x, int data[], int b, int e) 
    {     
        
    int i;     
        
    while(b <= e)     
        {     
            i 
    = (b + e) / 2;     
            
    if(data[i] == x) return i;     
            
    if(data[i] < x)          
                b 
    = i + 1;     
            
    else         
                e 
    = i - 1;             
        }     
        
    return -1;     
    }  

    int binary_search_recursion(int x, int data[], int b, int e) 
    {     
        
    int i;     
        i 
    = (b + e) / 2;     
        
    if(b > e) return -1;     
        
    if(data[i] != x)     
        {     
            
    if(x < data[i])         
                
    return binary_search_recursion(x, data, 0, i - 1);     
            
    else         
                
    return binary_search_recursion(x, data, i + 1, e);     
        }     
        
    else         
            
    return i; 
    }  

    int main() 
    {     
        
    int data[] = {14579};     
        printf(
    "%d \n", binary_search_recursion(9, data, 04));     
        printf(
    "%d \n", binary_search(9, data, 04));     
        printf(
    "%d \n", binary_search_recursion(90, data, 04));     
        printf(
    "%d \n", binary_search(89, data, 04));     
        
    return 0




    Android開發(fā)完全講義(第2版)(本書版權(quán)已輸出到臺灣)

    http://product.dangdang.com/product.aspx?product_id=22741502



    Android高薪之路:Android程序員面試寶典 http://book.360buy.com/10970314.html


    新浪微博:http://t.sina.com.cn/androidguy   昵稱:李寧_Lining

    posted on 2008-05-11 22:26 銀河使者 閱讀(2941) 評論(4)  編輯  收藏 所屬分類: algorithmC/C++ 原創(chuàng)

    評論

    # re: 拆半查找的遞歸和非遞歸算法  回復(fù)  更多評論   

    2分法不是這樣寫的吧?
    2008-05-12 10:26 | apPZ

    # re: 拆半查找的遞歸和非遞歸算法  回復(fù)  更多評論   

    嗯,應(yīng)該是的,只是測試的例子多了些,也看了好半天。汗``
    2008-05-12 15:56 | dreamingnest

    # re: 拆半查找的遞歸和非遞歸算法  回復(fù)  更多評論   

    i = (b + e) / 2; 有問題,會溢出的。sun的jdk里面的二分查找源碼原先也有同樣的問題。
    2008-05-12 19:49 | www

    # re: 拆半查找的遞歸和非遞歸算法  回復(fù)  更多評論   

    沒錯 i = (b + e) / 2; 這句有隱患,當(dāng)b+e大于int范圍時就會溢出。解決的方法是i = b/2 + e/2。這樣用2先除一下,就不會溢出了。
    2008-05-12 21:48 | 銀河使者
    主站蜘蛛池模板: 男人的好看免费观看在线视频 | 免费一级肉体全黄毛片| 国产午夜精品免费一区二区三区| 亚洲av第一网站久章草| 亚洲国产精品无码久久久| 亚洲午夜久久久影院伊人| 国产免费av片在线播放 | 91亚洲精品麻豆| 亚洲国产精品一区第二页| 四虎永久免费地址在线网站| 无码国产精品一区二区免费式直播 | 老湿机一区午夜精品免费福利| 亚洲成人免费在线观看| 亚洲va中文字幕无码久久| 亚洲乱码国产一区网址| 午夜两性色视频免费网站| h在线观看视频免费网站| 国产精品免费无遮挡无码永久视频 | 8x网站免费入口在线观看| 黄色短视频免费看| 一级特黄a大片免费| 色噜噜狠狠色综合免费视频| 亚洲成在人线aⅴ免费毛片| 亚洲伊人久久精品| 亚洲国产精品午夜电影| 亚洲精品国产电影午夜| 亚洲综合精品一二三区在线| 亚洲成AV人在线播放无码| 久久亚洲综合色一区二区三区| 亚洲精品午夜无码专区| 国产亚洲精品福利在线无卡一| 亚洲午夜av影院| 亚洲国产天堂久久久久久| 亚洲国产精品丝袜在线观看| 国产成人免费ā片在线观看 | 老妇激情毛片免费| 一道本在线免费视频| 4hu四虎免费影院www| a国产成人免费视频| 嫩草影院在线播放www免费观看| 久久国产乱子伦精品免费一|