相关代码 |
|
算法 8.2 int Search_Bin ( SSTable ST, KeyType kval ) { // 在有序表ST中折半查找其关键字等于kval的数据元素。若找到,则函数值 // 为该元素在表中的位置,否则为0。 low = 1; high = ST.length; // 置区间初值 while (low mid = (low + high) / 2; if (kval == ST.elem[mid].key ) return mid; // 找到待查元素 else if ( kval < ST.elem[mid].key ) high = mid - 1; // 继续在前半区间内进行查找 else low = mid + 1; // 继续在后半区间内进行查找 } //while return 0; // 顺序表中不存在待查元素 } // Search_Bin