用栈把中序变后序表达式实现进栈和出栈并算出时间复杂度

来源:百度知道 编辑:UC知道 时间:2024/06/08 10:32:23
请用C语言编写出源代码

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX 100
char stock[MAX];
int top=-1;

void fun( char a[],char b[])
...{
int i,len,j;
len=strlen(a);
j=-1;
for(i=0;i<len;i++)
...{
switch(a[i])
...{
case '(':stock[++top]='(';break;

case '-':
case '+':while(top>=0&&stock[top]!='(')
b[++j]=stock[top--];
stock[++top]=' ';
stock[++top]=a[i];
break;

case '*':
case '/':while(top>=0&&stock[top]!='('&&stock[top]!='+'&&stock[top]!='-')
b[++j]=stock[top--];
stock[++top]=' ';
stock[++top]=a[i];