數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)三(順序棧的基本操作)_第1頁
數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)三(順序棧的基本操作)_第2頁
數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)三(順序棧的基本操作)_第3頁
數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)三(順序棧的基本操作)_第4頁
數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)三(順序棧的基本操作)_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

#include〈stdio.h>#include〈malloc?h>#include〈windows?h>#defineMAXSIZE100typedefintDataTypi;typedefstructstack{DataTypedata[MAXSIZE];inttop;}sqstack;sqstack*InitStack(sqstack*S)//順序棧的初始化{S->top=-l;returnS;}voidpush(sqstack*S,DataTypex)//順序棧的元素入棧{辻(S->top>MAXSIZE-l)printf("error!");elseS_>top++;S~>data[S->top_=x;}DataTypepop(sqstack*S)//順序棧的元素出棧{intx;if(S->top二二-1)printf(,zUnderflow!z,);else{x=S~>data[S->top];printfC出棧的元素為d\n",S~>dataLS->top]);S_>top__;}returnx;DataTypeGetTop(sqstack*S)//順序棧取頂元素{if(S->top二二T){printf(/zUnderflow!\n,z);return0;}elsereturnS~>data[S~>top];}intEmpty(sqstack*S)//順序棧的判空{(diào)if(S->top二二T)return1;else:return0;}voidDigit_conversion(sqstack*S){inti=0,x,y,k[MAXSIZE],m;InitStack(S);printf(“請輸入一個十進(jìn)制數(shù)和您將要轉(zhuǎn)換的進(jìn)制數(shù)(2,&16):\『);scanf(,z%d%dz,,&x,&y);while(x)push(S,x%y);x二x/y;}wh訂己(!Empty(S))k[i]=pop(S);i++;m=i;

}printf(“十進(jìn)制數(shù)轉(zhuǎn)化為進(jìn)制數(shù)為:〃);for(i=0;i<m;i++){if(k[i]>9)printf(z,%c,z,k[i]+‘A'~10);elseprintfk[i]);}intmainOsqstack*L,*Sqstack;charm;intdata;L=(sqstack*)malloc(sizeof(sqstack));system(,zcolor3f");菜單列表printf(“菜單列表printf(〃\trprintf(〃\printf(〃\t?1??*1??j?*1??.???j?*1??j?*1??*???|?*1??|??*i*?I??|?.??|?*1??j???*??\n〃);printf(/z\n〃);printf(/z\tI*0?退出*1?順序棧的初始化*Iprintf(/z\tI*printf(〃\t?/??"?????/???/????"????"????"????"?????/???/????"????"????"???/???"????"????"???/???"????"????"????"?????/???/????"????"????1??j??I??|??I???||??I??*??I??|??j?printf(〃\t?/??"?????/???/????"????"????"????"?????/???/????"????"????"???/???"????"????"???/???"????"????"????"?????/???/????"????"????1??j??I??|??I???||??I??*??I??|??j??I??|??.??j??I??j??I?\n〃);printf(/z\tI*\n");printf(/z\tI*2?元素的入棧*3?元素的出棧*1*1\n〃);printf(/z\tI*printf(/z\tI*printfprintf(〃\t?1??j?|??I??????j???j???.??I??j?|?I??j??I??|??<1??|?.??|??j??I??|????printf(z,\t|*printfC\t|*4?取棧頂元素\n");printfC\t|*4?取棧頂元素\n");printf(z,\t|**5.判空*1printf(z,\t|*\n");printf(z,*1printf(z,\t|*\n");printf(z,\t|*6.將十進(jìn)制數(shù)轉(zhuǎn)換為其他進(jìn)制數(shù)printf(〃\t\n〃);printf(z,\t|*printf(〃\t\n〃);printf(〃\twhig((m=,O')&&(m二'1’)&&(m=,2’)&&(m二'3')&&(m二'4’)&&(m二'5,)&&(m=‘6’)&&(m=‘T))printf(/z\n請選擇你需要操作的步驟(0至7):“);fflush(stdin);scanf("%c",&m);switch(m){case'O':{exit(O);break;}case'1':{Sqstack=InitStack(L);break;}case'2’:{printf("輸入你要入棧的數(shù)據(jù):\n");scanf(,z%d,z,&data);fflush(stdin);while(data!=0)push(Sqstack,data);printf("繼續(xù)輸入你要入棧的數(shù)據(jù),若想結(jié)束,請按0終止\n");scanf&data);}break;}case'3’:{pop(Sqstack);break;}case'4’:{printf(”輸入取出的棧頂元素:\n");printf(,z其值為:%d\n,z,GetTop(Sqstack));}brea

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論