資料結構試驗六

2022-09-20 06:18:03 字數 1065 閱讀 1086

附:源**

#include <>

#include <>

#define maxlen 100

typedef struct seqstack;

//初始化棧

seqstack *initstack()

//判斷棧空

int stackempty(seqstack *s)

//出棧

char pop(seqstack *s)

//入棧

void push(seqstack *s, char data)

//讀入表示式

void readscreen(char str)

//匹配函式

int istogether(seqstack *s,char str)

i++;

}if(stackempty(s)) //棧為空,則完全匹配

return 1;

else

return 0;

}int main()

5、除錯分析

無論輸入的括號是否匹配總是輸出不匹配。分析程式可能是在讀入和判斷兩個函式出錯了,故在這兩個函式結束的位置設定斷點,觀察各變數的值。

輸入的表示式為:(5+2)

原讀入函式為:

char * readscreen()

首先在readscreen()函式末尾設定斷點,觀察各變數的值,str[0]~str[4]分別為(5+2),str[5]=』\0』,如圖1。

圖1繼續執行,進入匹配函式,觀察各變數的值是否正確的傳入。如圖2和圖3

圖2圖3

接著進行迴圈,觀察每一次的迴圈結果是否正確。如圖4

圖4發現這次讀入的陣列都發生了變化,接下來的每一次迴圈都是按圖4的資料進行的。這個錯誤可能是由於從陣列到指標的資料解結構發生了變化,所以將引數該為傳陣列的應該可以,結果確實正確!!

6、使用說明

程式名為實驗六.exe,執行環境為dos。程式執行顯示

這時,在這裡輸入乙個表示式,表示式元素之間不能有空格,以乙個回車符結束。

7、測試結果

1)2)

3)4)5)

資料結構試驗 樹

2008級資料結構實驗報告 實驗名稱 實驗三 樹 學生姓名 班級 班內序號 學號 日期 2009年11月22日 1 實驗要求 根據二叉樹的抽象資料型別的定義,使用二叉鍊錶實現乙個二叉樹。二叉樹的基本功能 1 二叉樹的建立 2 前序遍歷二叉樹 3 中序遍歷二叉樹 4 後序遍歷二叉樹 5 按層序遍歷二叉...

資料結構試驗 三

實驗三 迴圈佇列 實驗學時 2學時 一 實驗目的 1 掌握迴圈佇列的儲存結構 2 掌握在迴圈佇列上進行的各種操作。二 實驗內容 1 編寫迴圈佇列的建立函式 2 編寫迴圈佇列的進隊 出隊 初始化等函式。三 實驗重點 對迴圈佇列的特點理解。四 實驗難點 迴圈佇列操作函式的編寫。五 實驗要求 1 用c語言...

資料結構實驗六

洛陽理工學院實驗報告 附 源程式 include include include define endkey 1 define null 0 define ok 1 typedef struct node bstnode,bstree int insertbst bstree bst,int key...