数据结构(代码实现)(四):静态查找(顺序查找、二分查找)

//顺序查找(建立哨兵)
int SequentialSearch(StaticTable *Tbl, ElememtType K)
{
    int i;
    Tbl->Element[0]  = K; //建立哨兵
    for( i = Tbl->Length, Tbl-Element[i] != K, i--);
    return i;
}

//二分查找
int BinarySearch(StaticTalbe *Tbl, ElementType K)
{
    int left, right, mid, NotFound = -1;
    left = 1;
    right = Tbl->Length;
    while(left <= right){
        mid = (left + right) / 2;
        if(K < Tbl->Element[mid]) right = mid - 1;
        else if(K > Tbl->Element[mid]) left = mid + 1;
        else return mid;
    }
    return NotFound;
}



猜你喜欢

转载自blog.csdn.net/qq_30207251/article/details/80593079
今日推荐