資源簡介
結構清晰地介紹了用棧計算表達式的方法,附帶詳細的注釋,希望像能對
和我一樣入門級的朋友們有所幫助
代碼片段和文件信息
#include?
#include?
#define?STACK_SIZE?100
typedef?struct????/*?定義一個運算符棧?*/
{
????char?*?base;??/*指向棧底的指針*/
????char?*?top;???/*指向棧頂的指針*/
}OPTR_Stack;
typedef?struct?????/*?定義一個操作符棧?*/
{
????float?*?base;????/*指向棧底的指針*/
????float?*?top;????/*指向棧頂的指針*/
}OPND_Stack;
void?OptrInIt(OPTR_Stack?*s)????????/*?初始化運算符棧?*/
{
????s->base=(char*)malloc(STACK_SIZE*sizeof(char));/*分配內存*/
????if(s->base==NULL)?exit(0);????/*?判斷棧是否為空?*/
????s->top=s->base;????????????????
}
int?OptrEmpty(OPTR_Stack?s)????????/*?定義運算符空棧?*/
{
????if(s.top==s.base)????????????/*判斷棧空*/
????????return?1;????????????????/*?棧空返回1,否則為0?*/
????else
????????return?0;
}
void?OptrPush(OPTR_Stack?*schar?elem)?????/*?入棧?*/??
{
????if?(s->top-s->base==STACK_SIZE)????/*?判斷是否棧滿?棧滿則
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????8750??2011-10-13?15:32??Calculate.c
?????文件???????8086??2011-10-12?21:02??Calculate2.c
-----------?---------??----------?-----??----
????????????????16836????????????????????2
- 上一篇:譚浩強c語言電子書
- 下一篇:自己寫的cube光立方源代碼含有原理圖,程序有詳細注釋
評論
共有 條評論