📄 cj_stack.h
字号:
/******************************************************************************/
/* */
/* 文件名:CJ_STACK.H */
/* 创建人:江华 */
/* 日 期:2005-06-09 */
/* 描 述:堆栈函数组包含文件 */
/* */
/* */
/* 修改人: */
/* 日 期: */
/* 描 述: */
/* */
/******************************************************************************/
#ifndef CJ_STACK_H
#define CJ_STACK_H
#include "cj_define.h"
#include "cj_errmanager.h"
#include "cj_recordset.h"
#ifdef __cplusplus
extern "C" {
#endif
/*堆栈元素*/
typedef struct _TCJSKElemNode TCJSKElemNode;
typedef TCJSKElemNode * PTCJSKElemNode;
struct _TCJSKElemNode
{
TCJSKElemNode *prev; /*前一个结点指针,为NULL表示首节点*/
TCJSKElemNode *next; /*下一个结点指针,为NULL表示首节点*/
};
/*堆栈结构*/
struct _TCJSKStack
{
TCJRSRecordSet enodes; /*保存堆栈元素和数据的记录集 */
PTCJSKElemNode stack_b; /*堆栈栈底指针 */
PTCJSKElemNode stack_t; /*堆栈栈顶指针 */
int stackcount; /*堆栈元素个数 */
int nodesize; /*堆栈结点元素大小 */
int datasize; /*堆栈结点数据大小 */
};
typedef struct _TCJSKStack TCJSKStack;
typedef TCJSKStack * PTCJSKStack;
/*堆栈初始化*/
int CJSKInitial(PTCJSKStack v_sk, TCJUINT4 v_size,TCJUINT4 v_initial,
TCJUINT4 v_next,TCJUINT4 v_maxexts,PTCJEMStack v_stack);
/*取栈顶元素*/
int CJSKGetTop(PTCJSKStack v_sk, void **v_ptr,PTCJEMStack v_stack);
/*压栈*/
int CJSKPush(PTCJSKStack v_sk, void * v_ptr, PTCJEMStack v_stack);
/*出栈*/
int CJSKPop(PTCJSKStack v_sk, void **v_ptr, PTCJEMStack v_stack);
/*栈是否空*/
int CJSKStackEmpty(PTCJSKStack v_sk, PTCJEMStack v_stack);
/*销毁栈*/
int CJSKDestroy(PTCJSKStack v_sk, PTCJEMStack v_stack);
#ifdef __cplusplus
}
#endif
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -