第十三周專案1(2)

2021-08-13 03:16:34 字數 1794 閱讀 5708

[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...