資料結構實習 重言式的判別 寫的不好不要見怪

2021-03-31 08:56:31 字數 1418 閱讀 2530

#include

#include

#include

#include

#include

#define stack_size_normal 100

#define bianliang_max 20

#define str_max 60

int zuhe[bianliang_max];//變數的取值組合陣列定義;

int n;//變數個數;

//根據表示式建立的二叉樹的結點定義;

typedef struct btdnode*bitree;

//識別表示式使用的堆疊定義,它存放的都是樹的結構;

typedef struct lnode_optrsqstack;

//用於產生變數的各種取值組合;

void creatzuhe(int n)

j=j-1;

num=n-num;

while(j>=0)

}//自底向上地根據運算子地優先順序來建立分子樹函式;當邏輯表示式讀完後-子根zigen就是一棵完整的二叉樹

int k=0;//建樹的標誌,k=1表示第一次建立分子樹,要對左右孩子的指標域處理

void create(bitree &zigen,bitree l,bitree r)

if(int(r->data)>=65&&int(r->data)<=90)}}

//邏輯運算子的優先順序判別;

char youxianji(char lie,char hang)

;for(i=0;i<7;i++)

if(bijiao[0][i]==lie)

break;

for(j=0;j<7;j++)

if(bijiao[j][0]==hang)

break;

return bijiao[j][i];

}//對操作符棧和變數堆疊的操作;

void creatstack(sqstack &st)

void push(sqstack &st,bitree e)

void pop(sqstack &st,bitree &e)

void gettop(sqstack &st,bitree &e)

//重言式的識別函式;

void creattree(char s,bitree &tree)

else if(int(*s)>90||int(*s)<65)

else  s=s-1;

break;}}

s++;

}tree=theta;

}//根據變數的取值組合並利用邏輯表示式的性質對樹進行求值 

int value_tree(bitree tree)

}//使用者設定變數的一種取值;

void user()

}void main()

}

資料結構實習題目

資料結構課程設計任務書 實驗方式與基本要求 設計中要求綜合運用所學知識,上機解決一些與實際應用結合緊密的 規模較大的問題,通過分析 設計 編碼 除錯等各環節的訓練,深刻理解 牢固掌握資料結構和演算法設計技術,掌握分析 解決實際問題的能力。一 問題分析和任務定義 對問題的描述應避開具體的演算法和涉及的...

記錄資料結構實習之一元多項式計算

一元多項式計算 c語言 題目 一元多項式計算 功能要求 1 能夠按照指數降序排列建立並輸出多項式 2 能夠完成兩個多項式的相加 相減,並將結果輸出 程式 include include define null 0 typedef struct term term,linklist term為一個新型...

7 1 函式式資料結構

7.1 函式式資料結構 用函式程式設計,程式處理的資料總是儲存在資料結構中。資料結構和物件之間的區別在於,資料結構公開了表示資料 從名字就可以知道 的結構 知道了資料的結構便於寫處理的 但要到第九章才討論,f 還提供了一種封裝結構的方法,如同物件導向程式設計,當我們想從庫中匯出 f 資料結構,或者用...

資料結構 左式堆

左式堆 同二叉堆一樣具有結構性和堆序性。惟一的區別是 左式堆不是理想平衡的,而實際上是趨於不平衡的。零路徑長 npl x 從節點x到一個沒有兩個兒子節點的最短路徑長。左式堆要求對於堆中的每一個節點x,左兒子的零路徑長至少與右兒子的零路徑長一樣大。左式堆的結構宣告 struct treenode ty...

資料結構 逆波蘭式

很久沒有關注演算法和資料結構,大部分知識都已經忘記了 是時間好好回爐一下了,說實話幹讀資料機構這本書還是挺枯燥而且這本書原理性比較多,有一定的難度。這不剛看到逆波蘭式廢了好大勁才搞懂,老了。逆波蘭式 reverse polish notation,rpn,或逆波蘭記法 也叫字尾表示式 將運算子寫在運...