第四章第一小節 表示式樹的構造

2021-10-10 14:51:36 字數 1175 閱讀 2964

利用棧來構造表示式樹,注輸入的表示式為字尾表示式

// stack.h中的內容

//樹的結構,函式已在stack.c中實現

typedef

struct treenode* tptrnode;

typedef tptrnode tree;

struct treenode

;//鍊錶實現棧

typedef tptrnode element;

typedef

struct node* ptrnode;

typedef ptrnode stack;

//函式宣告

intisempty

(stack s)

;//判斷棧是否為空

stack createstack()

;//建立空棧

void

makeempty

(stack s)

;// 刪除棧

stack disposestack

(stack s)

;//銷毀棧

void

push

(element x, stack s)

;//入棧

void

pop(stack s)

;//出棧

element top

(stack s)

;//返回棧頂的元素值

element topandpop

(stack s)

;//返回棧頂的元素值,並出棧

struct node

;

//主函式中樹的構造

#include

#include

"stack.h"

using namespace std;

//表示式樹的構造

intmain()

else

if(str[i]

=='-'

)else

if(str[i]

=='+'

)else

if(str[i]

=='/'

)else

if(str[i]

=='*'

) i++;}

return0;

}

第四章 表示式

左值,用的是物件的身份 記憶體中的位置 右值,用的是物件的值 解引用生成 左值,取位址生成乙個 右值 bool b true bool c b c為true,因為 bool值在計算的時候被轉換成整型號int,所以b被轉換成 1,不為0,所以賦值給c的時候,為true int b while b ge...

第四章 表示式

這個概念暫時很模糊,打算學完這一章再總結。目前的理解是,左值有名字,可以通過名字訪問記憶體,右值沒有名字,一般是運算的中間結果或者字面值常量等。const修飾的變數是常量左值 如果decltype 函式的括號中表示式結果是左值,則得到乙個引用型別。例如在下面這段 中,b是int型別,c是int 型別...

第四章 學習 表示式

4.1 c 將運算子分為三類 1.一元運算子2.二元運算子 3.三元運算子 4.2 使用初等表示式 是運算子的重要組成部分。幾種不同的初等表示式 1 字面值 在c 中 直接使用硬編碼的值。比如 if firstname brain brain 就輸入直接使用硬編碼 也可以這樣 將其存入某個變數中,然...