[cpp]view plain
copy
/* 煙台大學計算機學院
檔名稱:xiangmu.cpp
完成日期:2023年11月26日
問題描述:驗證分塊查詢演算法。
請用22,4,23,11,20,2,15,13,30,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 50 //索引表的最大長度
typedef
intkeytype;
typedef
char
infotype[10];
typedef
struct
nodetype;
typedef
nodetype seqlist[maxl];
//順序表型別
typedef
struct
idxtype;
typedef
idxtype idx[maxi];
//索引表型別
intidxsearch(idx i,
intm,seqlist r,
intn,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=61;
keytype y=739;
keytype z=200;
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);
j1=idxsearch(i,m,r,n,y);
if(j1!=0)
printf("%d是第%d個資料\n"
,y,j1);
else
printf("未找到%d\n"
,y);
j2=idxsearch(i,m,r,n,z);
if(j2!=0)
printf("%d是第%d個資料\n"
,z,j2);
else
printf("未找到%d\n"
,z);
return
0;
}
第十三周專案1 2
問題及 檔名稱 test.cpp 作 者 陳文青 完成日期 2014年11月16日 版 本 號 v1.0 問題描述 建立乙個長度為10的整型陣列並初始化,由後往前 由第9個元素向第0個元素方向 輸出陣列中所有元素的值,改變陣列元素的值,令所有的資料加倍,輸出改變後的值。程式輸入 程式輸出 倒序輸出陣...
第十三周 專案4 (1)
檔名稱 grade.cpp 作 者 劉天恩 完成日期 2014年11月23日 版 本 號 v1.0 問題描述 用冒泡法按降序排序a中元素,輸出排序後的陣列.用冒泡法按降序排序b中元素,輸出排序後的陣列.程式輸入 無 程式輸出 輸出按降序排序後a,b陣列中的元素 includeusing namesp...
第十三周專案6 5
問題及 檔名稱 test.cpp 作 者 陳文青 完成日期 2014年11月25日 版 本 號 v1.0 問題描述 從檔案salary.txt中讀入工人的工資 不超過500人 全部增加20 好事 然後進行排序,程式輸入 程式輸出 include include includeusing namesp...