數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)二?;静僮鱛第1頁(yè)
數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)二?;静僮鱛第2頁(yè)
數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)二?;静僮鱛第3頁(yè)
數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)二?;静僮鱛第4頁(yè)
數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)二棧基本操作_第5頁(yè)
已閱讀5頁(yè),還剩1頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、實(shí)驗(yàn)二 ?;静僮饕?、實(shí)驗(yàn)?zāi)康恼莆諚5幕静僮鳎撼跏蓟?、判空、判滿、入棧、出棧、取棧頂元素等運(yùn)算。二、實(shí)驗(yàn)要求包含有頭文件和main函數(shù);1. 格式正確,語(yǔ)句采用縮進(jìn)格式;2. 設(shè)計(jì)子函數(shù)實(shí)現(xiàn)題目要求的功能;3. 編譯、連接通過(guò),熟練使用命令鍵;4. 運(yùn)行結(jié)果正確,輸入輸出有提示,格式美觀。三、實(shí)驗(yàn)設(shè)備、材料和工具1. 奔騰2計(jì)算機(jī)或以上機(jī)型2. turboc2,win-tc四、實(shí)驗(yàn)內(nèi)容和步驟實(shí)驗(yàn)內(nèi)容:1. 分析程序。2. 完成程序編寫(xiě)和補(bǔ)充步驟:3. 確定數(shù)據(jù)的結(jié)構(gòu);4. 利用main函數(shù)調(diào)用各子函數(shù);5. 調(diào)試、分析運(yùn)行結(jié)果。五、實(shí)驗(yàn)報(bào)告要求1. 根據(jù)實(shí)驗(yàn)內(nèi)容初步設(shè)計(jì)好程序,并從理論上排除

2、錯(cuò)誤;2. 針對(duì)程序的健壯性準(zhǔn)備好測(cè)試數(shù)據(jù);3. 結(jié)果分析中如實(shí)填寫(xiě)運(yùn)行后的結(jié)果,記錄調(diào)試過(guò)程中產(chǎn)生的重要問(wèn)題和解決方法。六、根據(jù)實(shí)驗(yàn)過(guò)程填寫(xiě)下面內(nèi)容基礎(chǔ)部分1.構(gòu)建下列頭文件,文件名稱seqstack.h#define TRUE 1#define FALSE 0#define Stack_Size 500#define StackElementType inttypedef structStackElementType elemStack_Size; /*用來(lái)存放棧中元素的一維數(shù)組*/int top; /*用來(lái)存放棧頂元素的下標(biāo),top為-1表示空棧*/SeqStack;void InitS

3、tack(SeqStack *S) S-top = -1;int IsEmpty(SeqStack *S) /*判斷棧S為空棧時(shí)返回值為真,反之為假*/return(S-top=-1?TRUE:FALSE);int IsFull(SeqStack *S)/*判斷棧S為滿棧時(shí)返回值為真,反之為假*/return(S-top=Stack_Size-1?TRUE:FALSE);int Push(SeqStack *S,StackElementType x)if(S-top=Stack_Size-1) return(FALSE); /*棧已滿*/S-top+;S-elemS-top = x;retur

4、n(TRUE);int Pop(SeqStack *S,StackElementType *x) if(S-top = -1) /*棧為空*/return(FALSE);else *x = S-elemS-top;S-top-; /* 修改棧頂指針 */ return(TRUE);int GetTop(SeqStack *S,StackElementType *x) if(S-top = -1) /*棧為空*/return(FALSE);else*x = S-elemS-top; return(TRUE);2.構(gòu)建判斷回文序列的程序,完成運(yùn)行和調(diào)試?;匚男蛄腥纾盒蛄?&序列2/包含順序棧頭文件

5、#includeseqstack.h/包含順序棧頭文件#include stdio.hvoid main() char ch,temp,str100; int i; SeqStack s;/定義順序棧s InitStack(&s);/初始化順序棧s printf(輸入字符串(以&居中):n); scanf(%s,str); i=0; ch=stri; while(ch!=&)/括號(hào)內(nèi)填入判斷條件 Push(&s,ch);/變量ch值入棧 i+;/變量i自增 ch=stri;/賦值str中下一個(gè)元素值給ch變量 while(!IsEmpty(&s)/括號(hào)內(nèi)填入判斷條件 Pop(&s,&temp)

6、;/s出棧,出棧值存放與temp變量中 i+;/變量i自增 ch=stri;/賦值str中下一個(gè)元素值給ch變量 if(temp!=ch) /括號(hào)內(nèi)填入判斷條件 break; if(!IsEmpty(&s)|stri+1!=0)/括號(hào)內(nèi)填入判斷條件 printf(no!n); else printf(yes!n);3.編寫(xiě)程序使棧內(nèi)元素倒置(設(shè)置兩個(gè)棧,把其中一個(gè)棧的元素順序出棧,并順序放入第二個(gè)棧中,則第二個(gè)棧中元素已經(jīng)倒置)!#include stdio.h/包含基本輸入輸出頭文件#include seqstack.h/包含順序棧頭文件main()SeqStack s,t;/定義兩個(gè)棧,s

7、和tchar str100,x;/定義字符數(shù)組str用于存放輸入的入棧字符串,x用于出棧存放的變量int i;printf(請(qǐng)輸入要入棧的字符:n);gets(str);/輸入字符串InitStack(&s);/對(duì)棧s進(jìn)行初始化InitStack(&t);/對(duì)棧t進(jìn)行初始化for(i=0;stri!=0;i+)Push(&s,stri);/順序讀取字符數(shù)組內(nèi)容并入s棧printf(第一個(gè)棧的內(nèi)容:n);while(!IsEmpty(&s)Pop(&s,&x);/對(duì)棧s出棧,出棧數(shù)據(jù)放入變量x中printf(%cn,x);/輸出x的值Push(&t,x);/對(duì)棧t入棧,入棧值為xprintf(第

8、二個(gè)棧的內(nèi)容:n);while(!IsEmpty(&t)Pop(&t,&x);/對(duì)棧t出棧,出棧數(shù)據(jù)放入變量x中printf(%cn,x);/輸出x的值提高部分4.編寫(xiě)程序用棧實(shí)現(xiàn)進(jìn)制轉(zhuǎn)換中的數(shù)據(jù)存放問(wèn)題,完成進(jìn)制轉(zhuǎn)換功能(轉(zhuǎn)換成二進(jìn)制)。#includestdio.h#includeseqstack.hvoid main()int x,temp;SeqStack s;InitStack(&s);printf(請(qǐng)輸入x:n);scanf(%d,&x);while(x0)temp=x%2;Push(&s,temp);/*整除2的余數(shù)進(jìn)棧*/x=x/2;while(!IsEmpty(&s)Pop(&s,&temp);printf(%dn,temp);5.編寫(xiě)程序用棧實(shí)現(xiàn)求fibonacci數(shù)列第n(n=3)個(gè)數(shù)的值。#includestdio.h#includeseqstack.hvoid main ()int a,b;int temp;int i;SeqStack s;InitStack(&s);Push(&s,1);Push(&s

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論