版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告
棧的應(yīng)用一一進(jìn)制轉(zhuǎn)換程序
姓名I班級(jí)I學(xué)號(hào)一
算法環(huán)節(jié):
1.定義棧與建立空棧
typedefstruct{
int*base;
oint*top;
intstacksize;
}Stack;
intInitStack(Stack*s)
(
s->base=(int*)malloc(STACKINITSIZE*sizeof(int));
。if(!s—>base)
(
。exit(0VERFLOW);
)
。s->top=s->base;
。s->stacksize-STACK_INIT_SIZE;
。returnOK;
)
2.入棧程序
intPush(Stack*s,int*e)
(
if(s->top-s->base>=STACK_INIT_SIZE)
0(
ss->base=(int*)rea1loc(s->base,(s->stacksize+
STACKINCREMENT)*sizeof(int));
?oif(!s->base)
O0{
。oexit(OVERFLOW);
O0}
。。s->top=s->base+STACKINCREMENT;
6)
*s->top++=*e;
sreturnOK;
}
3.出棧程序
intPop(Stack*s,int*e)
(
oif(s->top==s->base)
°(
returnERROR;
。)
。初二*—s->top;
returnOK;
)
4.主函數(shù)與進(jìn)制轉(zhuǎn)化
voidmain()
(
intN;
inta;
。inte;
Stacks;
InitStack(&s);
Pop(&s,&e);
Push(&s,&e);
oInitStack(&s);
。printf(〃請(qǐng)輸入十進(jìn)制數(shù):“);
scanf(〃%d〃,&N);
。printf(〃要將N轉(zhuǎn)化為幾進(jìn)制?〃);
scanf(n%d”,&a);
。while(N)
6{
。3e=N%a;
Push(&s,&e);
N=N/a;
6)
owhile(s.base!=s.top)
6{
。Pop(&s,&e);
printf("%d〃,e);
)
free(s.base);
system(z,pause”);
)
3.源程序
ttinc1ude<stdio.h>
ftinclude<ma11oc.h>
#include<stdlib.h>
ttdefineSTACK_INIT_SIZE100
#defineSTACKINCREMENT10
#defineOK1
ftdefineERROR0
#defineOVERFLOW-1
#defineTRUE1
#defineFALSE-1
typedefstruct{
int*base;
int*top;
intstacksize;
}Stack;
intInitStack(Stack*s)
(
s->base=(int*)malloc(STACK_INIT_SIZE*sizeof(int));
oif(!s—>base)
6{
exit(OVERFLOW);
)
。s->top=s->base;
s->stacksize=STACK_INIT_SIZE;
returnOK;
)
intPush(Stack*s,int*e)
(
if(s->top-s->base>=STACK_INIT_SIZE)
(
。s—>base=(int*)realloc(s->base,(s->stacksize+STACKINCR
EMENT)*sizeof(int));
oif(!s->base)
0(
6。exit(OVERFLOW);
0}
s->top=s->base+STACKINCREMENT;
。)
0*s->top++=*e;
returnOK;
)
intPop(Stack*s,int*e)
。if(s->top==s->base)
0{
o3returnERROR;
}
o*e=*-s->top;
。returnOK;
}
voidmain()
(
ointN;
inta;
inte;
Stacks;
InitStack(&s);
。Pop(&s,&e);
Push(&s,&e);
oInitStack(&s);
printf(〃請(qǐng)輸入十進(jìn)制數(shù):〃);
scanf(〃%d",&N);
printf(〃要將N轉(zhuǎn)化為幾進(jìn)制?〃);
seanf(〃%d〃,&a);
while(N)
6{
oe=N%a;
oPush(&s,&e);
ooN=N/a;
0)
。while(s.base!=s.top)
6{
Pop(&s,&e);
oprintf(M%dz,,e);
。}
free(s.base);
system("pause”);
)
調(diào)試與體會(huì)
.調(diào)試結(jié)果
s\iinzhi\Debug\iinzhi.exe
清藕人十班制效:1348
要塔N轉(zhuǎn)化為幾進(jìn)匍?2
101010001.00請(qǐng)按任意鍵繼續(xù)...
情輸入十進(jìn)制數(shù):1348
|要陶轉(zhuǎn)化為凡進(jìn)制?16
向4請(qǐng)接住意鍵繼續(xù)...
2.體會(huì)
這次數(shù)據(jù)結(jié)構(gòu)作業(yè)我選擇了做進(jìn)制轉(zhuǎn)換,一方面我覺得這個(gè)比較有實(shí)際意義,另一方面
我覺得做迷宮
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 安全員A證考試題庫檢測(cè)試題打印含答案詳解【培優(yōu)b卷】
- 安全員A證考試綜合練習(xí)及參考答案詳解【典型題】
- 設(shè)備OEE培訓(xùn)教學(xué)課件
- 安全員A證考試檢測(cè)卷講解附答案詳解【a卷】
- 安全員A證考試能力測(cè)試備考題附參考答案詳解【基礎(chǔ)題】
- 安全員A證考試通關(guān)訓(xùn)練試卷詳解(有一套)附答案詳解
- 安全員A證考試模擬卷包附參考答案詳解(基礎(chǔ)題)
- 燃?xì)夤艿婪勒鹪O(shè)計(jì)方案
- 未來五年小麥種子企業(yè)縣域市場(chǎng)拓展與下沉戰(zhàn)略分析研究報(bào)告
- 未來五年耳機(jī)修理服務(wù)企業(yè)ESG實(shí)踐與創(chuàng)新戰(zhàn)略分析研究報(bào)告
- 華東理工大學(xué)2026年管理與其他專業(yè)技術(shù)崗位統(tǒng)一招聘?jìng)淇碱}庫含答案詳解
- 2026上海碧海金沙投資發(fā)展有限公司社會(huì)招聘參考題庫含答案
- 2026四川成都市金牛區(qū)城市管理局招聘編外聘用工作人員2人參考題庫必考題
- 輸血科質(zhì)控 年度總結(jié)匯報(bào)
- 2026年浙江高考語文考試真題
- 2025年貴州省公務(wù)員錄用考試《公安專業(yè)科目》真題
- 高壓注漿加固施工方案
- 道路運(yùn)輸安全重大風(fēng)險(xiǎn)辨識(shí)分級(jí)管控清單
- 2025年國家電網(wǎng)內(nèi)蒙古東部電力高校畢業(yè)生招聘約226人(第二批)筆試參考題庫附帶答案詳解(3卷合一版)
- 中國家庭金融調(diào)查報(bào)告
- 高中數(shù)學(xué)人教A版(2019)選擇性必修第三冊(cè)教材解讀與教學(xué)分析 課件-2023年高中數(shù)學(xué)新教材培訓(xùn)
評(píng)論
0/150
提交評(píng)論