225. 用队列实现栈 c

typedef struct {
int a[100];
int top;
int size;
} MyStack;
MyStack* myStackCreate() {
MyStack* stack=(MyStack*)malloc(sizeof(MyStack));
stack->top=0;
stack->size=0;
for(int i=0;i<100;i++){
stack->a[i]=-1;
}
return stack;
}
void myStackPush(MyStack* obj, int x) {
obj->a[obj->top]=x;
obj->size++;
obj->top++;
}
int myStackPop(MyStack* obj) {
obj->top--;
obj->size--;
return obj->a[obj->top];
}
int myStackTop(MyStack* obj) {
return obj->a[obj->top-1];
}
bool myStackEmpty(MyStack* obj) {
if(obj->size==0) return true;
return false;
}
void myStackFree(MyStack* obj) {
free(obj);
}
/**
* Your MyStack struct will be instantiated and called as such:
* MyStack* obj = myStackCreate();
* myStackPush(obj, x);
* int param_2 = myStackPop(obj);
* int param_3 = myStackTop(obj);
* bool param_4 = myStackEmpty(obj);
* myStackFree(obj);
*/
结果:

浙公网安备 33010602011771号