問題及**:
/*
*檔名稱:main.cpp
*作 者:徐群壯
*完成日期:2015.11.30
*版 本 號:v1.0
* 45,26,34,29,35,26,36,55,98,56, 74,61,90,80,96,127,158,116,114,128,113,
115,102,184,211,243,188,187,218,195,210,279,307,492,452,408,361,421,399,
856,523,704,703,697,535,534,739(共n=56個資料,每塊資料個數s=8)作為資料表,
自行構造索引表,分別對查詢61、739、200進行測試。
*/
#include #define maxl 100 //資料表的最大長度
#define maxi 20 //索引表的最大長度
typedef int keytype;
typedef char infotype[10];
typedef struct
nodetype;
typedef nodetype seqlist[maxl]; //順序表型別
typedef struct
idxtype;
typedef idxtype idx[maxi]; //索引表型別
int idxsearch(idx i,int m,seqlist r,int n,keytype k)
i=i[high+1].link;
while (i<=i[high+1].link+b-1 && r[i].key!=k) i++;
if (i<=i[high+1].link+b-1)
return i+1;
else
return 0;
}int main()
,,,,};
keytype a= ;
keytype x=85;
for (i=0; i
r[i].key=a[i];
j=idxsearch(i,m,r,n,x);
if (j!=0)
printf("%d是第%d個資料\n",x,j);
else
printf("未找到%d\n",x);
return 0;
}
執行結果:
知識點總結及學習心得:
分塊查詢實際是兩次查詢的過程,索引表是有序表,可以採用折半查詢或者順序查詢。而查詢過程的平均長度是兩次平均查詢的長度之和。
第14周專案1 (2)驗證分塊查詢演算法
問題 檔名稱 專案1 2.cbp 作 者 王聰 完成日期 2015年12月2日 版 本 號 v1.0 問題描述 驗證分塊查詢演算法 輸入描述 無 程式輸出 測試資料 include define maxl 100 資料表的最大長度 define maxi 20 索引表的最大長度 typedef in...
第14周專案1 (2)驗證分塊查詢演算法
all rights reserved.檔名稱 專案1 2.cbp 作 者 孫翰文 完成日期 2015年12月4日 版 本 號 v1.0 問題描述 驗證分塊查詢演算法 輸入描述 無 程式輸出 測試資料 define maxl 100 資料表的最大長度 define maxi 20 索引表的最大長度 ...
第14周專案1 (2)驗證分塊查詢演算法
問題及 檔名稱 1.cpp 作 者 王修文 完成日期 2016年12月1日 版 本 號 v1.0 輸入描述 無 程式輸出 測試資料 include define maxl 100 資料表的最大長度 define maxi 20 索引表的最大長度 typedef int keytype typedef...