數(shù)據(jù)結(jié)構(gòu)最短路徑_第1頁
數(shù)據(jù)結(jié)構(gòu)最短路徑_第2頁
數(shù)據(jù)結(jié)構(gòu)最短路徑_第3頁
數(shù)據(jù)結(jié)構(gòu)最短路徑_第4頁
數(shù)據(jù)結(jié)構(gòu)最短路徑_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、課程名稱數(shù)據(jù)結(jié)構(gòu)上機名稱.排序上機日期2013-5-22班級計科1203姓名汪俊學(xué)號1030412314上機報告要求1.上機名稱2.上機要求3.上機環(huán)境4.程序清單(寫明運行結(jié)果)5.上機體會1上機名稱排序,實驗52.上機要求調(diào)試實驗一,補充實驗2主函數(shù),完成實驗33上機環(huán)境VisualC+6.04程序清單(寫明運行結(jié)果)、#includevstdio.h#defineN10#defineFALSE0#defineTRUE1typedefintKeyType;typedefcharInfoType;typedefstructKeyTypekey;InfoTypeotherinfo;RecTyp

2、e;typedefRecTypeSeqlistN+1;intm,num;全局變量m存儲輸出的是第幾趟結(jié)果,num存儲遞歸調(diào)用的次數(shù)SeqlistR;voidInsertsort();voidBubblesort();voidSelectsort();voidmain()SeqlistS;inti;charchl,ch2;printf(請輸入10個待排序的數(shù)據(jù):(每兩個數(shù)據(jù)間用空格隔開)n);for(i=1;iv=N;i+)scanf(%d,&Si.key);ch1=y;while(ch1=yllch1=Y)printf(*菜單*n)printf(”請選擇下列操作:n);TOC o 1-5 h

3、zprintf(1更新待排序數(shù)據(jù)n);printf(2直接插入排序n);printf(3冒泡排序n);printf(4直接選擇排序n);printf(5退出n);printf(請選擇操作類別:n);scanf(n%c,&ch2);switch(ch2)caseT:printf(請輸入更新待排序數(shù)據(jù):n);for(i=1;i=N;i+)scanf(%d,&Si.key);break;case2:printf(請輸入要輸出第幾趟排序結(jié)果:n);scanf(%d,&m);for(i=1;i=N;i+)Ri.key=Si.key;Insertsort();break;case3:printf(請輸入要

4、輸出第幾趟排序結(jié)果:n);scanf(%d,&m);for(i=1;i=N;i+)Ri.key=Si.key;Bubblesort();break;case4:printf(請輸入要輸出第幾趟排序結(jié)果:n);scanf(%d,&m);for(i=1;i=N;i+)Ri.key=Si.key;Selectsort();break;case5:chl=n;break;default:ch1=n;voidInsertsort()inti,j,k;for(i=2;iv=N;i+)if(Ri.keyvRi-1.key)R0=Ri;j=i-1;while(RO.keyvRj.key)/*從右向左在有序區(qū)R

5、1.i-1中查找Ri的插入位置*/Rj+1=Rj;j-;Rj+1=R0;if(i-1=m)printf(”第小趟的結(jié)果是:n,m);for(k=1;k=N;k+)printf(”5d,Rk.key);printf(n);printf(”請輸入還想輸出第幾趟結(jié)果,不想輸出時請輸入0:n);scanf(%d,&m);if(m!=0)printf(”最終排序結(jié)果是:n);for(k=1;k=i;j-)if(Rj+1.keyvRj.key)R0=Rj+1;Rj+1=Rj;Rj=R0;exchange=TRUE;if(i=m)printf(”第小趟的結(jié)果是:n,m);for(k=1;k=N;k+)pri

6、ntf(”5d,Rk.key);printf(n);printf(”請輸入還想輸出第幾趟結(jié)果,不想輸出時請輸入0:n);scanf(%d,&m);if(!exchange)ll(m=O)break;if(m!=0)printf(最終排序結(jié)果是:n);for(k=1;k=N;k+)printf(%5d,Rk.key);printf(n);voidSelectsort()inti,j,k,h;for(i=1;iN;i+)h=i;for(j=i+1;j=N;j+)if(Rj.keyvRh.key)h=j;if(h!=i)R0=Ri;Ri=Rh;Rh=RO;if(i=m)printf(”第小趟的結(jié)果是

7、:n,m);for(k=l;kv=N;k+)printf(”5d,Rk.key);printf(n);printf(”請輸入還想輸出第幾趟結(jié)果,不想輸出時請輸入0:n);scanf(%d,&m);if(m!=0)printf(”最終排序結(jié)果是:n);for(k=1;k#defineN4#definefalse0#defineture1typedefintkeytype;typedefcharinfotype;typedefstructkeytypekey;infotypeotherinfo;rectype;typedefrectypeseqlistN+l;intm,num;seqlistR;v

8、oidquicksort(seqlist&R,ints,intt)inti=s,j=t;if(ivj)R0=Ri;dowhile(ivj&Rj.key=RO.key)j-;if(ij)Ri=Rj;i+;while(ij&Ri.keyv=RO.key)i+;if(i0)for(i=gap;iv=n;i+)R0=Ri;j=i-gap;while(j=1&RO.keyvRj.key)Rj+gap=Rj;j=j-gaP;Rj+gap=R0;j=j-gaP;gap=gap/2;voidsift(seqlist&R,intv,intn)inti,j;i=v;j=2*i;RO=Ri;while(jv=n)i

9、f(j=1;i-)sift(R,i,n);for(i=n;i=2;i-)R0=Ri;Ri=R1;R1=R0;sift(R,1,i-1);voidshow(seqlist&R,intn)inti;for(i=1;i#includevstring#includeviostreamusingnamespacestd;#defineN6#definefalse0#defineture1typedefintkeytype;typedefstringinfotype;typedefstructkeytypepaim;keytypekey;infotypeotherinfo;rectype;typedefr

10、ectypeseqlistN+l;intm,num;seqlistR;voidquicksort(seqlist&R,ints,intt)inti=s,j=t;if(ivj)RO=Ri;dowhile(ivj&Rj.key=RO.key)j-;if(ij)Ri=Rj;i+;while(ij&Ri.keyv=RO.key)i+;if(i0)for(i=gap;iv=n;i+)R0=Ri;j=i-gap;while(j=1&RO.keyvRj.key)Rj+gap=Rj;j=j-gaP;Rj+gap=R0;j=j-gaP;gap=gap/2;voidsift(seqlist&R,intv,intn

11、)inti,j;i=v;j=2*i;R0=Ri;while(jv=n)if(jn&Rj.key=l;i-)sift(R,i,n);for(i=n;i=2;i-)R0=Ri;Ri=R1;R1=R0;sift(R,1,i-1);voidshow(seqlist&R,intn)inti,j,m;for(i=6;i=1;i-)Ri.paim=7-i;if(Ri.key=Ri+1.key)Ri.paim=Ri+1.paim;Ri.otherinfo;成績?yōu)椋篟i.key;名次為:只訃卩8訕6口小1;coutvv姓名為:coutvvcoutvvvoidmain()seqlistS;inti;charchl

12、,ch2;printf(請輸入6個成績:n);for(i=1;iv=N;i+)scanf(%d,&Si.key);printf(請輸入6個學(xué)生姓名:n);for(i=1;iSi.otherinfo;ch1=y;while(ch1=yllch1=Y)printf(*菜單*n);printf(請選擇下列操作:n);TOC o 1-5 h zprintf(1更新成績n);printf(2快速排序n);printf(3希爾排序n);printf(4堆排序n);printf(5退出n);printf(請選擇操作類型:n);scanf(n%c,&ch2);switch(ch2)case1:printf(請輸出更新的成績:n);for(i=1;i=N;i+)scanf(%d,&Si.key);break;case2:quicksort(S,1,N);

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論