91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

折半查找法

發布時間:2020-07-18 13:05:17 來源:網絡 閱讀:493 作者:銀河星君 欄目:編程語言
//折半查找法,要求有序序列,默認由小到大
#include <iostream>

using namespace std;
//普通方法
int BinSearch2(int *searchTable,int key,int len)
{
    // 最低位置索引low、最高位置索引high、中間位置索引mid
    // 中間位置的可能情況
    // len為奇數時,mid 為正中間位置 mid的左側和右側用于同樣數目的元素
    // len為偶數時,mid為正中間往左的那一個元素   正中間為小數,正中間往左的那一個位置才是(Low+High)/2
    // low與high的關系
    // 正常情況下low<high
    // low==high時,僅剩下最后一個需要判斷的元素,此元素可能與key相同,也可能不同
    // low>high 未找到與key相同的元素
    int low=0;
    int high=len-1;
    int mid;

    while(low<=high){
        mid=(low+high)/2;
        //找到與key相等的一個元素位置
        if(searchTable[mid]==key)
            return mid;
        if (searchTable[mid]>key)
            high=mid-1;
        else
            low=mid+1;
    }
    return -1;
}
//遞歸方法
int BinSearch3(int *searchTable,int key,int low,int high)
{
    if(low>high)
        return 0;//查找失敗
    int mid=(low+high)/2;
    if(searchTable[mid]==key)
        return mid;//查找成功
    if(searchTable[mid]>key)
        return BinSearch3(searchTable,key,low,mid-1);//左查找
    else
        return BinSearch3(searchTable,key,mid+1,high);//右查找
}
int main(int argc, char *argv[])
{
    int Array[15]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
    cout<<"3的位置是:"<<BinSearch2(Array,8,15)<<endl;
    cout<<"3的位置是:"<<BinSearch3(Array,8,1,15)<<endl;
    return 0;
}


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

淮阳县| 弥渡县| 永嘉县| 宽甸| 观塘区| 莱州市| 抚顺市| 青田县| 呼伦贝尔市| 河间市| 丹寨县| 德清县| 黑龙江省| 区。| 从江县| 泗洪县| 晋宁县| 井陉县| 枝江市| 措美县| 伽师县| 忻州市| 双桥区| 嘉义市| 利川市| 阿荣旗| 静海县| 平潭县| 德安县| 正定县| 绍兴市| 高阳县| 彭水| 贵阳市| 通山县| 伊金霍洛旗| 勃利县| 凉山| 廉江市| 图木舒克市| 石棉县|