llllmz

导航

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);
*/

结果:

posted on 2024-02-29 19:21  神奇的萝卜丝  阅读(38)  评论(0)    收藏  举报