資料結構C 版 王紅梅 OJ習題

2021-10-21 18:57:27 字數 1445 閱讀 9307

要求輸入乙個以字串方式儲存的表示式,利用棧,能夠計算表示式的值。表示式中允許的運算子為+,-,*,/,%,(,)。

函式原型: int calvalue(char *s); s儲存表示式,函式返回值為表示式的值,表示式中的運算元為正整數。

輸入: 15+(3-5)*7

輸出:1

5+7*(25-12)/2-3
47
//

// created by legends丶hu on 2020/2/4.

//#include #include #include //#include "stack.h"

using namespace std;

const int stacksize = 100;

templateclass stack

};templatevoid stack::push(t x)

templatestack::stack()

templatet stack::pop()

templatet stack::gettop()

templateint stack::empty()

//3*(4+2)/2-5

int compare(char c)

}int compute(int a, int b, char ch)

return res;

}int midcalvalue(char *s)

opnd.push(num);

} else

} else

optr.push(s[i]);

}i++;}}

char ch;

while ((ch = optr.pop()) != '#')

return opnd.pop();

}void convertpost(char *str,char *res)

res[index++]=' ';

} else else if (str[i] == ')')

s.pop();

} else

s.push(str[i]);

}i++;}}

char ch = s.gettop();

while ((ch = s.pop()) != '#')

res[index] = '\0';

}int postcalvalue(char *s)

stack.push(num);

continue;

} else if(s[i] != ' ')

}return stack.pop();

}//3*(4+2)/2-5

//1 2 + 3 4 - *

//(1+1)*(3-4)

//5+7*(25-12)/2-3%3

int main()

資料結構C 版 王紅梅 OJ習題

迴圈佇列中利用頭尾指標front rear之間的關係實現隊滿 當隊中僅剩乙個空閒單元時即視為隊滿 隊空條件判斷。迴圈佇列類的定義 部分實現及主函式 如下 勿改動 請在此基礎上補充實現佇列類中未實現的相關演算法 include include using namespace std const int...

資料結構C 版 王紅梅 OJ習題

單向迴圈錶類的定義及部分函式和main函式 請勿改動 如下,請完成length insert reverse和displist演算法。單向迴圈鍊錶類 template class linklist 建構函式 template linklist linklist 析構函式 釋放鍊錶各個結點所佔記憶體單...

大學資料結構(c 版) 王紅梅版 疑惑 第二章

第二章本章的基本內容是 1 線性表的邏輯結構2 線性表的順序儲存及實現 3 線性表的鏈結儲存及實現4 順序表和煉表的比較5 線性 表的其他儲存方法 下面是定義的摘抄 delete 前置條件 表已存在 輸入 刪除位置i 功能 刪除表中的第i個元素 輸出 若刪除成功,返回被刪元素,否則丟擲異常 後置條件...