版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
江南大學(xué)物聯(lián)網(wǎng)工程學(xué)院上機(jī)報(bào)告
課程名稱數(shù)據(jù)結(jié)構(gòu)上機(jī)名稱排序上機(jī)日期2022-5-22
班級(jí)計(jì)科1203姓名汪俊學(xué)號(hào)1030412314
上機(jī)報(bào)告要求1.上機(jī)名稱2.上機(jī)要求3.上機(jī)環(huán)境4.程序清單(寫明運(yùn)行結(jié)果)5.上機(jī)體味
1.上機(jī)名稱
排序,實(shí)驗(yàn)5
2.上機(jī)要求
調(diào)試實(shí)驗(yàn)一,補(bǔ)充實(shí)驗(yàn)2主函數(shù),完成實(shí)驗(yàn)3
3.上機(jī)環(huán)境
VisualC++6.0
4.程序清單(寫明運(yùn)行結(jié)果)
、
#include<stdio.h>
#defineN10
#defineFALSE0
#defineTRUE1
typedefintKeyType;
typedefcharInfoType;
typedefstruct
(
KeyTypekey;
InfoTypeotherinfo;
JRecType;
typedefRecTypeSeqlist[N+1];
intm,num;〃全局變量m存儲(chǔ)輸出的是第幾趟結(jié)果,num存儲(chǔ)遞歸調(diào)用的次數(shù)
SeqlistR;
voidInsertsort();
voidBubblesort();
voidSelectsort();
voidmain()
(
SeqlistS;
inti;
charchl,ch2;
請(qǐng)輸入10個(gè)待排序的數(shù)據(jù):每?jī)蓚€(gè)數(shù)據(jù)間用空格隔開
for(i=l;i<=N;i++)
chl-y';
while(ch1=-y'||ch1='Y')
(
菜單
請(qǐng)選擇下列操作
更新待排序數(shù)據(jù)
直接插入排序
冒泡排序
直接選擇排序
退出
請(qǐng)選擇操作類別
switch(ch2)
{
caseT:
請(qǐng)輸入更新待排序數(shù)據(jù)
for(i=l;i<=N;i++)
break;
case2:
請(qǐng)輸入要輸出第幾趟排序結(jié)果
for(i=l;i<=N;i++)
R[i].key=S[i].key;
Insertsort();
break;
case3:
請(qǐng)輸入要輸出第幾趟排序結(jié)果
for(i=l;i<=N;i++)
R[i].key=S[i].key;
Bubblesort();
break;
case4:
請(qǐng)輸入要輸出第幾趟排序結(jié)果
for(i=l;i<=N;i++)
R[i].key=S[i].key;
Selectsort();
break;
case5:
chl-n*;
break;
default:
chl-n1;
voidInsertsort()
(
inti,j,k;
for(i=2;i<=N;i++)
(
if(R[i].key<R[i-l].key)
{
R[0]=R[i];
j=i-l;
while(R[O].key<R[j].key)
{/*從右向左在有序區(qū)R[1....i+1查]找R[i]的插入位置*/
RU+1]=RU1;
R[j+1]=R[O];
)
if(i-l==m)
!
第%d趟的結(jié)果是
for(k=1;k<=N;k++)
請(qǐng)輸入還想輸出第幾趟結(jié)果,不想輸出時(shí)請(qǐng)輸入
if(m!=0)
(
最終排序結(jié)果是
for(k=l;k<=N;k++)
voidBubblesort()
〃自下向上
inti,j,k;
intexchange;
for(i=l;i<=N;i++)
{〃最多做N-l趟排序
exchange=FALSE;
for(j=N-l;j>=i;j-)
!
if(R[j+l].key<R[j].key)
(
R[O]=R[j+l];
R[j+1]=RU];
R[j]=R[O];
exchange=TRUE;
)
)
if(i==m)
(
第%(1趟的結(jié)果是
for(k=l;k<=N;k++)
請(qǐng)輸入還想輸出第幾趟結(jié)果,不想輸出時(shí)請(qǐng)輸入
)
ifi;(!exchange)11(m=0))
break;
)
if(m!=O)
(
最終排序結(jié)果是
for(k=1;k<=N;k++)
voidSelectsort()
(
inti,j,k,h;
for(i=l;i<N;i++)
h=i;
for(j=i+1;j<=N;j++)
if(R[j].keyvR[h].key)
h=j;
)
if(h!=i)
!
R[O]=R[i];
R[i]=R[h];
R[h]=R⑼;
)
if(i==m)
[
第%d趟的結(jié)果是
for(k=l;k<=N;k++)
請(qǐng)輸入還想輸出第幾趟結(jié)果,不想輸出時(shí)請(qǐng)輸入
if(m!=O)
{
最終排序結(jié)果是
for(k=l;k<=N;k++)
--?、
#include<stdio.h>
#defineN4
#definefalse0
#defineture1
typedefintkeytype;
typedefcharinfotype;
typedefstruct
{
keytypekey;
infotypeotherinfb;
Jrectype;
typedefrectypeseqlist[N+1];
intm,num;
seqlistR;
voidquicksort(seqlist&R,ints,intt)
(
inti=s,j=t;
if(i<j)
(
R[0]=R[i];
do
while(i<j&&R[j].key>=R[O].key)
j-;
if(i<j)
(
R[i]=RUl;
i++;
)
while(i<j&&R|i].key<=R[O].key)
i++;
if(i<j)
(
R|j]=R|i];
j-;
}
}while(i<j);
R[i]=R[O];
quicksort(R,s,j-l);
quicksort(R,j+l,t);
)
)
voidshellsort(seqlist&R,intn)
(
inti,j,gap;
gap=n/2;
while(gap>0)
!
for(i=gap;i<=n;i++)
(
R[0]=R[i];
j=i-gap;
while(j>-l&&R[O].key<R[j].key)
(
R|j+gap]=R[j];
j=j-gap;
)
R|j+gap]=R[0];
j=j-gap;
)
gap=gap/2;
)
)
voidsift(seqlist&R,intv,intn)
inti,j;
1=V;
j=2*i;
R[O]=R[i];
while(j<=n)
(
if(j<n&&R[j].key<R[j+l].key)
j++;
if(R|O].key<R[j].key)
(
i=j;
j=2*i;
}
else
j=n+l;
}
R[i]=R[O];
)
voidheapsort(seqlist&R,intn)
(
inti;
for(i=n/2;i>=l;i—)
sift(R,i,n);
for(i=n;i>=2;i—)
{
R[0]=R[i];
R[i]=R[l];
R[1J=R[O];
sift(R,l,i-l);
)
)
voidshow(seqlist&R,intn)
(
inti;
for(i=l;i<=n;i++)
voidmain()
seqlistS;
inti;
charchl,ch2;
請(qǐng)輸入4個(gè)待排元素:(每?jī)蓚€(gè)數(shù)據(jù)間用空格隔開)
for(i=l;i<=N;i++)
chi=y;
while(chl==y||chl—Yf)
(
菜單
請(qǐng)選擇下列操作:
更新待排數(shù)據(jù)
快速排序
希爾排序
堆排序
退出
請(qǐng)選擇操作類型:
switch(ch2)
{
case'l':
請(qǐng)輸出更新待排數(shù)據(jù):
for(i=l;i<=N;i++)
break;
case'2':
quicksorts』,4);
show(S,4);
break;
case'S*:
shellsort(S,4);
show(S,4);
break;
case14':
heapsort(S,4);
show(S,4);
break;
case5:
chl-n';
break;
default:
chl=H;
三、#include<stdio.h>
#include<string>
#include<iostream>
usingnamespacestd;
#defineN6
#definefalse0
#defineture1
typedefintkeytype;
typedefstrinjinfotype;
typedefstruct
(
keytypepaim;
keytypekey;
infbtypeotherinfb;
Jrectype;
typedefrectypeseqlist[N+1];
intm,num;
seqlistR;
voidquicksort(seqlist&R,ints,intt)
inti=s,j=t;
if(i<j)
(
R[O]=R[i];
do
{
while(i<j&&R[j].key>=R[0].key)
j-;
if(i<j)
{
R[i]=R[j];
i++;
)
while(i<j&&R[i].key<=R[O].key)
i++;
if(i<j)
(
R[j]=R[i];
j-;
)
}while(i<j);
R[i]=R[0];
quicksort(R,s,j-l);
quicksort(R,j+l,t);
}
1
voidshellsort(seqlist&R,intn)
(
inti,j,gap;
gap=n/2;
while(gap>0)
I
for(i=gap;i<=n;i++)
(
R[0]=R[i];
j=i-gap;
while(j>=l&&R[O].key<R[j].key)
(
RU+gap]=R[j];
j=j-gap;
}
RU+gap]=R[0];
j=j-gap;
gap=gap/2;
voidsift(seqlist&R,intv,intn)
inti,j;
i=v;
j=2*i;
R[0]=R[i];
while(j<=n)
(
ifG<n&&R[j].key<R[j+l].key)
j++;
if(R[O].key<R[j].key)
{
R[i]=RUl;
i=j;
j=2*i;
)
else
j=n+l;
)
R[i]=R[0];
)
voidheapsort(seqlist&R,intn)
(
inti;
for(i=n/2;i>=l;i—)
sift(R,i,n);
for(i=n;i>=2;i—)
{
R[0]=R[i];
R[i]=R[U;
R[1]=R[O];
sift(R,l,i-l);
)
)
voidshow(seqlist&R,intn)
(
int
for(i=6;i>=l;i-)
(
R[i].paim=7-i;
if(R|i|.key==R|i+1J.key)
R[i].paim=R[i+l].paim;
姓名為:
成績(jī)?yōu)?
名次為:
)
)
voidmain()
seqlistS;
inti;
charchl,ch2;
請(qǐng)輸入6個(gè)成績(jī):
fbr(i=l;i<=N;i++)
請(qǐng)輸入6個(gè)學(xué)生姓名:
for(i=l;i<=N;i++)
cin?S[i].otherinfo;
chl=y;
while(chl='y'||chl—Y*)
(
菜單
請(qǐng)選擇下列操作:
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- GGFG-PAB-Exatecan-TFA-生命科學(xué)試劑-MCE-7805
- 2025年度私教健身中心教練團(tuán)隊(duì)合作協(xié)議
- 2025年度水產(chǎn)養(yǎng)殖技術(shù)支持租地合同
- 二零二五年度私人酒店健身教練用工協(xié)議
- 材料采購(gòu)合同
- 食堂操作間衛(wèi)生與消毒措施
- 河道清淤施工方案6篇
- 個(gè)人不服勞動(dòng)合同糾紛仲裁起訴狀范本
- 上海簡(jiǎn)易離婚合同模板
- 上海市商品住宅銷售合同模板
- 貴州省工傷待遇申請(qǐng)表(綜合柜員)
- 籍貫對(duì)照表完整版
- 畢業(yè)生就業(yè)推薦表word模板
- a320飛機(jī)剎車系統(tǒng)原理及故障分析
- GB 5009.228-2016食品安全國(guó)家標(biāo)準(zhǔn)食品中揮發(fā)性鹽基氮的測(cè)定
- 并聯(lián)電容器課件
- 彼得圣吉:第五項(xiàng)修煉課件
- 色素性皮膚病
- 《社會(huì)主義市場(chǎng)經(jīng)濟(jì)理論(第三版)》第二章社會(huì)主義市場(chǎng)經(jīng)濟(jì)改革論
- 學(xué)校預(yù)算管理內(nèi)部控制制度
- anthone溫控儀說明書LU920
評(píng)論
0/150
提交評(píng)論