5 回答

TA貢獻1835條經(jīng)驗 獲得超7個贊
1.索引表的類型可定義如下:
struct IndexItem
{
IndexKeyType index;
//IndexKeyType為事先定義的索引值類型
int start;
//子表中第一個元素所在的下標位置
int length;
//子表的長度域
};
2.首先根據(jù)給定的索引值K1,在索引表上查找出索引值等于K1的索引項,以確定對應子表在主表中的開始位置和長度,然后再根據(jù)給定的關鍵字K2,在對應的子表中查找出
3。關鍵字等于K2的元素。
設數(shù)組A是具有mainlist類型的一個主表,數(shù)組B是具有indexlist類型的在主表A上建立的一個索引表,m為索引表B的實際長度,即所含的索引項的個數(shù),K1和K2分別為給定
帶查找的索引值和關鍵字,并假定每個子表采用順序存儲,則索引查找算法為:
int Indsch(mainlist A, indexlist B, int m, IndexKeyType K1, KeyType K2)
{//利用主表A和大小為 m 的索引表B索引查找索引值為K1,關鍵字為K2的記錄
//返回該記錄在主表中的下標位置,若查找失敗則返回-1
int i, j;
for (i = 0; i < m; i++)
if (K1 == B[i].index)
break;
if (i == m)
return -1; //查找失敗
j = B[i].start;
while (j < B[i].start + B[i].length)
{
if (K2 == A[j].key)
break;
else
j++;
}
if (j < B[i].start + B[i].length)
return j; //查找成功
else
return -1; //查找失敗
}

TA貢獻1883條經(jīng)驗 獲得超3個贊
索引表的類型可定義如下: struct IndexItem { IndexKeyType index; //IndexKeyType為事先定義的索引值類型 int start; //子表中第一個元素所在的下標位置 int length; //子表的長度域 }; 2.首先根據(jù)給定的索引值K1,在索引表上查找出索引值等...

TA貢獻1788條經(jīng)驗 獲得超4個贊
index有兩種形式:數(shù)組和引用。數(shù)組形式通常返回數(shù)值或數(shù)值數(shù)組;引用形式通常返回引用。
例中,index(S2,'8')為S2的值
- 5 回答
- 0 關注
- 855 瀏覽
添加回答
舉報