版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
學(xué)院專業(yè)班學(xué)號(hào)
姓名協(xié)作者教師評(píng)估
實(shí)驗(yàn)題目查詢與排序
綜合實(shí)驗(yàn)評(píng)分表
序
號(hào)評(píng)分項(xiàng)目評(píng)分標(biāo)準(zhǔn)滿分打分
1完畢度按規(guī)定獨(dú)立完畢實(shí)驗(yàn)準(zhǔn)備、程序調(diào)試、實(shí)驗(yàn)報(bào)告撰寫。20
(1)完畢功能需求分析、存儲(chǔ)結(jié)構(gòu)設(shè)計(jì);
(2)程序功能完善、可正常運(yùn)營;
2實(shí)驗(yàn)內(nèi)容30
(3)測(cè)試數(shù)據(jù)對(duì)的,分析對(duì)的,結(jié)論對(duì)的。
3實(shí)驗(yàn)報(bào)告內(nèi)容齊全,符合規(guī)定,文理通順,排版美觀。40
對(duì)實(shí)驗(yàn)過程碰到的問題能初步獨(dú)立分析,解決后能總結(jié)問題
4總結(jié)10
因素及解決方法,有心得體會(huì)。
實(shí)驗(yàn)報(bào)告
實(shí)驗(yàn)?zāi)康呐c規(guī)定
1、掌握散列表的構(gòu)造及實(shí)現(xiàn)散列查找;
2、掌握堆排序的算法;
3、綜合比較各類排序算法的性能。
二、實(shí)驗(yàn)內(nèi)容
#1nclude"stdio.h"
#incIude"stdlib.h"
#inc1ude"string.h"
#include"windows.h"
#defineMAX20
typedefstruct{
°unsignedlongkey;
intresuIt;
charname[30];}RNode;
RNOdet[MAX],r[MAX];
inth(unsignedlongk)/*散列函數(shù)*/
(
。return((k-)%l1);
voidinsert(RNodet[],RNodex)/*插入函數(shù),以線性探查方法解決沖突*/
。1nti,j=0;
i=h(xkey);
while((j<MAX)&&(t[(i+j)%MAX].key!=x.key)&&(t[(i+j)%MAX].key>0))
j++;
if(j==MAX)printf("fu1l\n");
i=(i+j)%MAX;
?if(t[i].key==0)
…{t[i]=x;}
else
0(
。1f(t[i].key==x.key)
printf("記錄已存在!\n“);
)
)
intsearch(RNodet[],unsignedlongk)/*插入函數(shù),以線性探查方法解決沖
突*/
(
inti,j=0;
i=h(k);
°whiIe((j<MAX)&&(t[(i+j)%MAX].key!=k)&&(t[(i+j)%MAX].key!=0))
j++;
。i=(i+j)%MAX;
if(t[i].key==k)
retum(1);
。if(j==MAX)
returnMAX;
。else
?return(-i);
)
voidsift(RNoder[],intv,intw)
(
0int1J;
。RNodea;
。i=v;
°a=r[i];
j=2*1+1;
°while(j<=w)
(
°if((j<w)&&(r[j]result>r[j+l].result))
。j++;
°if(a.result>r[j].resuit)
{r[i]=r[j];i=j;j=2*j+l;}
…elsebreak;
r[i]=a;
)
voidsort(RNoder[],intn)
(
0inti;
°RNodey;
°for(i=n/2-1;i>=0;i--)
°sift(r,i,n-1);
for(i=n-1;i>0;i--)
{y=r[O];r[O]=r[i];r[i]=y;
printf("學(xué)生姓名:%s\t學(xué)生學(xué)號(hào):%u\t學(xué)生成績(jī):%d\n",r[i].name,r[i].key,r[i].
result);
sift(r,0,1-1);
)
printf("學(xué)生姓名%s\t學(xué)生學(xué)號(hào)為u\t學(xué)生成績(jī)%d\n",r[0].name,r[0].key,r
[0].result);
)
intmenu()/*菜單函數(shù)*/
(
intseiect;
printf("\n\n");
printf("\n");
printf("\t\t*************查找排序?qū)嶒?yàn)******************\n
printf("\t\t夫\n");
printf("\t\t********欠1卬幺充******************\n")*
printf("\t\t*menu:An");
print*1.查找*\n
printf("\t\t*2.排序An");
printf("\t\t*0.退出*\n");
pr-intf("\t\t*******************************************\n
printf("\n");
printf("\t\t\t請(qǐng)輸入0—2\n”);
printf("\n");
printf("請(qǐng)選擇您所要的操作(選擇(0)退出):”);
scanf("%d",&select);
getchar();
return(select);
voidmain()/*主函數(shù)*/
(
inti,s,n,select;
intj=0,m=0;
RNodey;
for(i=0;i<MAX;i++)
t[i].key=O;/*初始化*/
for(i=0;1<10;i++)/*導(dǎo)入記錄*/
{
switch(i){
case0:{
RNodex;
x.key=310900***;
°strepy(x.name,”***");
x.resu1t=90;
insert(t,x);
break;}
case1:{
°RNodex;
°x.key=31090***1;
strcpy(x.name,"***");
x.result=95;?
insert(t,x);
break;}
case2:{
6RNodex;
,x.key=3109005***;
°strcpy(x.name,"***");
x.resuIt=92;
insert(t,x);
break;)
case3:{
。。RNodex;
°x.key=31090***;
strcpy(x.name,"***");
x.result=93;
insert(t,x);
break;}
case4:{
RNodex;
x.key=3109005***;
strepy(x.name,"***");
x.resu1t=94;。
1nsert(t,x);
break;}
°case5:{
RNodex;
x.key=310900***;
strcpy(x.name,"***");
°x.result=91;
insert(t,x);
break;}
?case6:{
RNodex;
。xkey=3109005***;
strcpy(x.name***");
?x.result=96;。
insert(t,x);
break;}
case7:{
。RNodex;
x.key=310900***;
°strcpy(,"***");
°x.result=99;
1nsert(t,x);
break;}
case8:{
?RNodex;
?x.key=310900***;
strcpy(x.name,"***");
xresult=98;。
1nsert(t,x);
break;}
?case9:{
°°RNodex;
sx.key=310900***;
strcpy(x.name,"***");
x.result=97;。
insert(t,x);
break;}
)
}
printf("\n\n\n\n\n\n\n");
system("cls");
Ioop:{
。printf("\n\n\n");
se1ect=menu();
switch(select){
case1:{
printf("\n請(qǐng)輸入要查找的學(xué)生學(xué)號(hào):");
scanf("%u",&y.key);
s=search(t,y.key);
if(s==MAX||s<0)printf("notfind\n");
else
{printf("\n\n你要查找的學(xué)生信息\n");
printf("學(xué)生姓名:%s\t學(xué)生學(xué)號(hào):%u",t[s].name,t[s].key);}
break;}
。case2:{
°for(i=0;1<MAX;i++)
°{if(t[i].key!=0)
0(
。r[j++]=t[i];
?m++;
00}
)
printf("排序之前:\n\n");
?for(i=0;i<m;i++)
0printf("學(xué)生姓名:%s\t學(xué)生學(xué)號(hào):%u\t學(xué)生成績(jī):%d\n",r[i].name,r[i].ke
y,r[i].result);
printf("\n排序之后:\n");
osort(r,m);
break;
)
case0:exit(0);
)
getchar();
goto1oop;
)
)
三、實(shí)驗(yàn)結(jié)果和數(shù)據(jù)解決
(1)查找數(shù)據(jù)(310900****)
(2)排序
四、總結(jié)
這次的課程實(shí)驗(yàn)完畢了主控界面,錄入,輸出,排序,查找,結(jié)束界面等功能。在程
序調(diào)試過程之中,我還是個(gè)初學(xué)者,在編寫程序
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 工業(yè)活動(dòng)融資行業(yè)營銷策略方案
- 掃描探針顯微鏡產(chǎn)業(yè)鏈招商引資的調(diào)研報(bào)告
- 去中心化身份認(rèn)證服務(wù)行業(yè)市場(chǎng)調(diào)研分析報(bào)告
- 園藝學(xué)行業(yè)營銷策略方案
- 家用空間降溫裝置出租行業(yè)營銷策略方案
- 裝釣魚假餌用盒市場(chǎng)發(fā)展前景分析及供需格局研究預(yù)測(cè)報(bào)告
- 離心壓縮機(jī)產(chǎn)品供應(yīng)鏈分析
- 機(jī)械式起重葫蘆產(chǎn)品供應(yīng)鏈分析
- 動(dòng)物清潔行業(yè)經(jīng)營分析報(bào)告
- 美容霜市場(chǎng)分析及投資價(jià)值研究報(bào)告
- 中外警匪片比較課件
- 第九章穩(wěn)定化聚合物材料及可降解聚合物材料的設(shè)計(jì)與應(yīng)用(高分子材料)--課件1
- 液壓修井解決方案介紹
- 企業(yè)信用修復(fù)申請(qǐng)表
- 電工基礎(chǔ)(周紹敏主編)-參考答案
- DB4113-T 003-2021南陽艾種植技術(shù)規(guī)范-(高清現(xiàn)行)
- 2020檢驗(yàn)檢測(cè)機(jī)構(gòu)管理評(píng)審報(bào)告
- 柏林之聲032合并功放中中文說明書
- 數(shù)學(xué)教研組磨課總結(jié)
- 醫(yī)學(xué)Ev3頸動(dòng)脈支架和保護(hù)傘課件
- 民事案件卷宗范本
評(píng)論
0/150
提交評(píng)論