读书人

连续出栈两个数据有有关问题,高手帮看

发布时间: 2012-02-15 12:09:44 作者: rapoo

连续出栈两个数据有问题,高手帮看下!~
typedef struct SNode{
struct SNode *top;
char ch;
struct SNode *next;
}*StackList;

typedef StackList operators;

void InitStack(operators &P){
SNode *node=(SNode*)malloc(sizeof(SNode));
node->top=NULL;
node->ch='#';
node->next=NULL;
P->top=node;
}

void PushStack(operators &P,char &ch){
SNode *node=(SNode*)malloc(sizeof(SNode));
node->top=NULL;
node->ch=ch;
node->next=P->top;
P->top=node;
cout<<" Push "<<P->top->ch<<endl;
}

void PopStack(operators &P,char &ch){
ch=P->top->ch;
--P->top;
}

[解决办法]
你的top是不是指向栈顶下一个位置,直接取ch=P->top->ch; 是不是错了还是怎样.

读书人网 >软件架构设计

热点推荐