




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
北大”數(shù)據(jù)結構〃上機考試復習題總結(2)
數(shù)據(jù)結構練習題4
1.編一C程序,它能根據(jù)輸入的二叉樹中序和后序序列來構造該二叉樹,并能輸出該二叉
樹的前序序列和該二叉樹的度為2的結點的個數(shù)并能判斷該二叉樹是否為二叉排序樹(若是
輸出Yes;否則輸出No)。(輸入次序是:表示中序序列的字母串、表示后序序列的字母串)。
(注:程序的可執(zhí)行文件名必須是el.exe,存于你的賬號或其debug目錄下。)
#includestdio.h
#includemalloc.h
#includestring.h
voidexit(int);
#defineMAX100
typedefstructnode{
chard;
structnode*lchild,*rchild;
}Tnode;
voidMKTree(charin[],intis,intie,charpost[],intposts,intposte,Tnode**r)
(
inti;
if(isie||postsposte)
*r=NULL;
else{
*r=malloc(sizeof(Tnode));
(*r)-d=post[poste];
for(i=is;i=ie;i++)
if(post[poste]==in[i])
(
MKTree(in,is,i-1,post,posts,posts+i-is-1,(*r)-Ichild);
MKTree(in,i+1,ie,post,posts+i-is,poste-1,(*r)-rchild);
break;
)
if(iie){
printf("Error:inputcontainanerror!\n〃);
exit(9);
voidBST(charin[],intis,intie)
(
inti;
if(is==ie)
printf(〃yes\n〃);
else
for(i=is;i=ie;i++)
if(in[i]in[i+l])
continue;
else
break;
)
if(i==ie)
printf(〃YES\n〃);
else
printf(〃NO\n〃);
)
)
voidpreorder(Tnode*r)
(
if(r)
(
printf(〃%c〃,r-d);
preorder(r-Ichild);
preorder(r-rchild);
intseconde(Tnode*r)
if(r==NULL)
return0;
else
if((r-Ichild)!=NULL(r-rchild)!=NULL)
return1;
else
returnseconde(r-Ichild)+seconde(r-rchild);
)
voidmain()
(
Tnode*r;
charpost[MAX],in[MAX];
printf("inputinorderandpostorder!\n");
gets(in);
gets(post);
MKTree(in,0,strlen(in)-1,post,0,strlen(post)-1,r);
printf("thepreorderisasfollows:\n〃);
preorder(r);
printf(Anthereare%dsecondeinthetree\n,/,seconde(r));
printf(z1fthetreeisBST:\nw);
BST(in,0,strlen(in)-1);
2.編一C程序,它能讀入一串整數(shù)(以-9999為結束標記),再以與輸入次序相反的次序輸
出這串整數(shù)(輸入、出時,兩個相鄰的整數(shù)用空格隔開)。
(注:程序的可執(zhí)行文件名必須是e2.exe,存于你的賬號或其debug目錄下。)
#includestdio.h
#definemax10000
main()
(
inta[max];
intn=0,i,d;
printf(zzpleaseententnenumber:\n");
do{
scanf("%d〃,d);
if(d==-9999)
break;
n++;
a[n]=d;
}while(9);
for(i=n;i0;i-----)
printf(〃%4d〃,a[i]);
printf(An");
數(shù)據(jù)結構練習題5
1.編一C程序,它能讀入一個大寫英文字母串(字母個數(shù)不多于100,字母兩兩不同),
并構造以這些字母為關鍵字的二叉排序樹,再輸出該二叉排序樹的后序序列和頁結點個數(shù)。
(注:程序的可執(zhí)行文件名必須是el.exe,存于你的賬號或其debug目錄下,否則無成績)
2.編一C程序,它能讀入兩組整數(shù)(每組整數(shù)都以-9999為結束標記,-9999不算在內。個
數(shù)都不大于1000),并以從小到大的次序輸出既在第一組整數(shù)中也在第二組整數(shù)中的所有整
數(shù)(同一個整數(shù)不能輸出兩次)。(輸入時,兩個相鄰的整數(shù)用空格隔開)。
(注:程序的可執(zhí)行文件名必須是e2.exe,存于你的賬號或其debug目錄下,否則無成績)
Wincludestdio.h
voidpaixu(intr[],intn)
(
inti,j,k;
intexchange;
for(i=0;i=n;i++)
(
exchange=0;
for(j=n-l;j=i;j-----)
if(r[j+l]r[j])
(
k=r[j+l];
r[j+l]=r[j];
r[j]=k;
exchange=l;
if(!exchange)
break;
)
}
intjiaoji(intm[],intn[],intl[],intcountaa,intcountbb)
(
intw,x,y;
inti=0,j=0,k=0;
for(w=0;w=countaa;w++)
(
for(x=w+l;x=countaa;x++)
(
if(m[w]==m[x])
(
countaa-----;
for(y=x;y=countaa;y++)
(
m[y]=m[y+l];
)
x-----;
)
)
while(i=countaa)
for(j=0;j=countbb;j++)
(
if(m[i]==n[i])
(
l[k]=m[i];
k++;
break;
)
)
i++;
)
returnk;
)
voidmain()
(
inta[1000],b[1000],c[2000];
intexcange=0,i,countA,countB,countC;
printf(“請輸入數(shù)組a:\n");
for(i=0;i=1000;i++)
scant("%d〃,a[i]);
if(a[i]==-9999)
break;
)
countA=i-l;
paixu(a,countA);
printf(〃請輸入數(shù)組b:\n〃);
for(i=0;i=1000;i++)
(
scanf("%d",b[i]
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 投資合作合同協(xié)議書
- 汽修場地租賃合同
- 代理記賬公司員工保密協(xié)議
- 可編輯修改產品代理合同經銷
- 個人裝修木工勞務合同
- 醫(yī)療行業(yè)人工智能輔助診斷與健康管理方案
- 天使投資協(xié)議書
- 電子商務產業(yè)園孵化企業(yè)入駐協(xié)議
- 建筑勞務臨時用工合同
- 司機的聘用合同集錦
- 中華人民共和國職業(yè)分類大典是(專業(yè)職業(yè)分類明細)
- 人教版道德與法治三年級下冊全冊課件【完整版】
- DB43-T 2142-2021學校食堂建設與食品安全管理規(guī)范
- Module8Myfuturelife教學設計-2023-2024學年英語外研版九年級下冊
- 中職歷史教學計劃
- 橋梁頂升移位改造技術規(guī)范
- 浙江省杭州市2022-2023學年五年級下學期數(shù)學期末試卷(含答案)
- 介紹人提成方案
- 湘教版二年級下冊美術教案
- 天津在津居住情況承諾書
- PHOTOSHOP教案 學習資料
評論
0/150
提交評論