📄 stack.c
字号:
/*****************************************************************/
/*
* Copyright (c) 2008,北京归创科技有限公司技术部
* All rights reserved.
*
* 文件名称:stack.c
* 用 途:堆栈的实现
* 创建日期:2008年5月29日
*/
/*****************************************************************/
#include <stdlib.h>
#include <assert.h>
#include "stack.h"
#include "ds_define.h"
stack *stack_create()
{
stack *s = MALLOC(stack,1);
if(s)
{
s->s_list = list_create();
if(s->s_list) return s;
}
return NULL;
}
DS_RESULT stack_push(void *data,stack *s)
{
assert(s);
return list_insert_position(data,s->s_list,0);
}
void *stack_pop(stack *s)
{
assert(s);
return list_remove_position(0,s->s_list);
}
void *stack_top(stack *s)
{
assert(s);
return list_getdata(0,s->s_list);
}
BOOL stack_isempty(stack *s)
{
assert(s);
if(s->s_list->length == 0) return TRUE;
else return FALSE;
}
void stack_free(stack *s,BOOL freedata)
{
if(!s) return;
list_free(s->s_list,freedata);
free(s);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -