stack.c
来自「FinC编译器源代码」· C语言 代码 · 共 52 行
C
52 行
#include <tiny/stack.h>Stack* stack_new(){ Stack* self; self = (Stack*) mem_new (sizeof(Stack)); object_init_object((Object*)self, stack_destroy); self->stack = list_new(); return self;}void stack_destroy(Object* self){ unref( ((Stack*)self)->stack ); mem_destroy(self);}ADT stack_pop(Stack* self){ ADT result; result = list_last(self->stack); list_remove_current(self->stack); return result;}void stack_push(Stack* self, ADT item){ list_append(self->stack, item);}ADT stack_take(Stack* self){ return list_last(self->stack);}int stack_get_size(Stack* self){ return list_get_size(self->stack);}Bool stack_is_empty(Stack* self){ return list_is_empty(self->stack);}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?