2023年大二上 資料結構 棧(5) 字尾表示式

2021-07-07 04:56:13 字數 1088 閱讀 9734

利用sqstack.h中棧的基本運算,實現將乙個中綴表示式轉換為對應的字尾表示式的演算法。例如,輸入(56-20)/(4+2),輸出字尾表示式::56#20#-4#2#+/要求在數字後加#。

/*

*檔名稱:annpion.cpp

*完成日期:2023年11月14日

*版本號:v1.0

**問題描述:利用sqstack.h中棧的基本運算,實現將乙個中綴表示式轉換為對應的字尾表示式的演算法。例如,輸入(56-20)/(4+2),輸出字尾表示式::56#20#-4#2#+/要求在數字後加#。

*輸入描述:輸入乙個表示式。

*輸出描述:輸出中綴表示式對應的字尾表示式,並輸出所得的值。

*/#include #include #include "sqstack.h"

#define maxop 7

#define maxsize 100

struct

lpri= ,,,,,,},

rpri= ,,,,,,};

int rightpri(char op)

postexp[i++]='#';

}else}}

pop(opstack,ch);

while(ch!='=')

postexp[i++]='\0';

destroystack(opstack);

}double calculate(char *postexp)

; calculate *cal;

cal=(calculate *)malloc(sizeof(calculate));

cal->top=-1;

while(*postexp!='\0')

++cal->top;

cal->data[cal->top]=d;

}else

}++postexp;

}return cal->data[cal->top];

}int main()

執行結果:

2023年大二上 資料結構 棧(2) 鏈棧演算法庫

main.cpp 檔名稱 annpion.cpp 完成日期 2015年11月6日 版本號 v1.0 問題描述 main.cpp 輸入描述 無。輸出描述 輸出各個函式的測試結果。include include listack.h int main printf n printf 8 鏈棧為 s n s...

2023年大二上 資料結構 棧(3) 括號的匹配

檔名稱 annpion.cpp 完成日期 2015年11月13日 版本號 v1.0 問題描述 假設表示式中允許三種括號 圓括號 方括號和大括號。編寫乙個演算法,判斷表示式中的各種左括號是否與右括號匹配。輸入描述 表示式。輸出描述 輸出是否匹配正確。include stack.h include in...

2023年大二上 資料結構 順序表(2) 刪除元素

檔名稱 annpion.cpp 完成日期 2015年10月22日 版本號 v1.0 問題描述 刪除元素在 x,y 之間的所有元素,要求演算法的時間複雜度為o n 空間複雜度為o 1 輸入描述 輸入2個數x,y。輸出描述 輸出刪除了 x,y 的陣列。include list.h include voi...