//定义两个空栈及栈顶指针
int stack1[1000];
int stack2[1000];
int top1 = 0, top2 = 0;
//入队就是直接将元素压入其中一个栈
void push(int node ) {
     stack1[top1++] = node;
}
//出队就是先将其中一个栈的元素逐一转入第二个栈中
//然后再逐一将第二个栈中的元素输出,即出队序列=入队序列
int pop() {
    int a; 
    if(top2 == 0){
        while(top1 != 0){
            stack2[++top2] = stack1[--top1];
        }
    }
     return stack2[top2--];
}
其中,这一步
stack2[++top2] = stack1[--top1];
是由这两步合起来的:
a = stack1[--top1];
stack2[++top2] = a;
或者说是由这四步合起来的:
top1--;
a = stack1[top1];
top2++;
stack2[top2] = a;