思路分析: 只需要用一个变量来存储余数,并入栈即可。另外需要注意一下maxsize-1才是栈满;p.data[p.top]代表的是datatype x的值。 下面是代码实现: #include <iostream> using namespace std; const int maxsize = 16; typedef int datatype; typedef struct { datatype data[maxsize]; int top; }sqstack; void init_sqstack(sqstack* sq) { sq->top = -1; } int empty_sqstack(sqstack* sq) { if (sq->top == -1)return 1; else return 0; } int push_sqstack(sqstack* sq, datatype x) { if (sq->top == maxsize - 1) { cout << "栈满,不能进栈!\n"; return 0; } sq->data[++sq->top] = x; return 1; } int pop_sqstack(sqstack* sq, datatype* x) { if (sq->top == -1) { cout << "栈空,不能退栈!……

阅读全文