2025年10月6日 星期一

[232] Implement Queue using Stacks

很高興的寫完以後發現~原來這不是題意嗎XD
反正我用了queue寫queue ...
如同別人的comment :  this question is so weird  XDDDDD

我還是去寫點正經題目好了Orz




typedef struct {
int queue[100];
int head;
int tail;
} MyQueue;


MyQueue* myQueueCreate() {
MyQueue* ret = calloc (1, sizeof(MyQueue));
ret->head = 0;
ret->tail = 0;
return ret;
}

void myQueuePush(MyQueue* obj, int x) {
obj->queue[obj->tail++] = x;
}

int myQueuePop(MyQueue* obj) {
return (obj->queue[obj->head++]);
}

int myQueuePeek(MyQueue* obj) {
return obj->queue[obj->head];
}

bool myQueueEmpty(MyQueue* obj) {
return (obj->head == obj->tail)?(true):(false);
}

void myQueueFree(MyQueue* obj) {
free(obj);
}

/**
* Your MyQueue struct will be instantiated and called as such:
* MyQueue* obj = myQueueCreate();
* myQueuePush(obj, x);
* int param_2 = myQueuePop(obj);
* int param_3 = myQueuePeek(obj);
* bool param_4 = myQueueEmpty(obj);
* myQueueFree(obj);
*/

沒有留言:

張貼留言