最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C 二分查找 遞歸與非遞歸的實現(xiàn)代碼

 更新時間:2013年03月25日 14:27:53   作者:  
C 二分查找 遞歸與非遞歸的實現(xiàn)代碼,需要的朋友可以參考一下

復制代碼 代碼如下:

#include <stdio.h>

int binSearch(int arr[], int low, int high, int key);
int binSearch2(int arr[], int low, int high, int key);
int binSearch3(int arr[],int start,int ends,int key);
int main() {
    int arr[]={3,8,11,15,17,22,23,26,28,29,34};
    //printf("%d",binSearch(arr,0,10,26));
    printf("%d",binSearch3(arr,0,10,26));
    return 1;
}

int binSearch(int arr[], int low, int high, int key) {
    int flag=-1;
    int mid = (low + high) / 2;
    if (low > high) {
        flag= -1;
    } else {

        if (arr[mid] < key) {
            flag= binSearch(arr, mid + 1, high, key);
        } else if (arr[mid]>key) {
            //比如要找的節(jié)點在下面這一層   那么這一層會返回下標上來 用flag接住嘛...
            flag= binSearch(arr,low,mid-1,key);//又差一點忘記了用flag取接住返回值了

        } else {
            flag= mid;
        }
    }
    return flag;
}


//ok==============================
int binSearch2(int arr[], int low, int high, int key) {
    int mid = (low + high) / 2;
    if (low > high) {
        return -1;
    } else {

        if (arr[mid] < key) {
            return binSearch2(arr, mid + 1, high, key);
        } else if (arr[mid]>key) {
            return binSearch2(arr,low,mid-1,key);
        } else {
            return mid;
        }
    }

}

int binSearch3(int arr[],int start,int ends,int key){
    int mid=-1;
    while(start<=ends){
        mid=(start+ends)/2;
        if(arr[mid]<key){
            start=mid+1;
        }else if(arr[mid]>key){
            ends=mid-1;
        }else{
            break;
        }
    }//上述循環(huán)結(jié)束后不一定就是 start>ends的  因為有break語句
    if(start>ends){
        mid=-1;
    }
    return mid;
}       

相關(guān)文章

  • C語言中冒泡排序算法詳解

    C語言中冒泡排序算法詳解

    大家好,本篇文章主要講的是C語言中冒泡排序算法詳解,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-01-01
  • C++中簡單的文本文件輸入/輸出示例詳解

    C++中簡單的文本文件輸入/輸出示例詳解

    C++程序把輸入和輸出看作字節(jié)流,輸入時程序從輸入流中抽取字節(jié),輸出時程序?qū)⒆止?jié)插入到輸出流中,下面這篇文章主要給大家介紹了關(guān)于C++中簡單的文本文件輸入/輸出的相關(guān)資料,需要的朋友可以參考下
    2021-12-12
  • C語言實現(xiàn)順序表的順序查找和折半查找

    C語言實現(xiàn)順序表的順序查找和折半查找

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)順序表的順序查找和折半查找,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • C++特性之智能指針shared_ptr詳解

    C++特性之智能指針shared_ptr詳解

    shared_ptr是C++11提供的一種智能指針類,它足夠智能,可以在任何地方都不使用時自動刪除相關(guān)指針,從而幫助徹底消除內(nèi)存泄漏和懸空指針的問題。本文主要是來和大家聊聊shared_ptr的使用,需要的可以參考一下
    2022-12-12
  • C++使用windwos?api實現(xiàn)獲取計算機基本信息

    C++使用windwos?api實現(xiàn)獲取計算機基本信息

    這篇文章主要為大家詳細介紹了C++如何使用windwos?api實現(xiàn)獲取windwos計算機的基本信息,包括計算機名稱、操作系統(tǒng)版本、處理器信息等,需要的可以參考一下
    2023-04-04
  • c++獲取進程信息列表和進程所調(diào)用的dll列表

    c++獲取進程信息列表和進程所調(diào)用的dll列表

    這篇文章主要介紹了c++獲取進程信息列表和進程所調(diào)用的dll列表,大家參考使用吧
    2013-11-11
  • C++實現(xiàn)移動立方體示例講解

    C++實現(xiàn)移動立方體示例講解

    這篇文章主要介紹了C++實現(xiàn)移動立方體,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧
    2022-12-12
  • C語言實現(xiàn)消消樂小游戲

    C語言實現(xiàn)消消樂小游戲

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)消消樂小游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-12-12
  • C語言 二叉查找樹性質(zhì)詳解及實例代碼

    C語言 二叉查找樹性質(zhì)詳解及實例代碼

    這篇文章主要介紹了C語言 二叉查找樹性質(zhì)詳解及實例代碼的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • C++項目開發(fā)實現(xiàn)圖書管理系統(tǒng)

    C++項目開發(fā)實現(xiàn)圖書管理系統(tǒng)

    這篇文章主要為大家詳細介紹了C++項目開發(fā)實現(xiàn)圖書管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03

最新評論

拉孜县| 台南市| 大竹县| 盘山县| 屏东县| 正镶白旗| 壤塘县| 晴隆县| 五指山市| 徐水县| 丰台区| 壤塘县| 民丰县| 类乌齐县| 观塘区| 茌平县| 晋中市| 买车| 吐鲁番市| 永顺县| 祁连县| 汉沽区| 花莲县| 金乡县| 驻马店市| 新竹市| 宁德市| 台北市| 葵青区| 龙岩市| 洪雅县| 永寿县| 南召县| 合作市| 长泰县| 龙州县| 当涂县| 新沂市| 鄂尔多斯市| 沙洋县| 华安县|