cxfans
9/6/2019 - 6:15 AM

二叉搜索 #Algorithm

二叉搜索 #Algorithm

#define ElemType int

typedef struct {
    ElemType *elem;
    int TableLen;
} SeqList;

int Binary_Search(SeqList L, ElemType key) {
    int low = 0, high = L.TableLen - 1, mid;
    while (low <= high) {
        mid = (high - low) / 2;
        if (L.elem[mid] == key) return mid;
        if (L.elem[mid] < key) low = mid + 1;
        else high = mid - 1;
    }
    return -1;
}