stack.c

来自「java 编程思想,很不错的源程序例子,请大家仔细看看.」· C语言 代码 · 共 61 行

C
61
字号
/* stack.c: implementation */
#include "stack.h"

/* Private data: */
#define MAX 10
static int error = 0;   /* error flag */
static int data[MAX];   /* the stack */
static int ptr;         /* stack pointer */

/* Function implementation */
void stk_push(int x)
{
    if (ptr < MAX)
    {
        data[ptr++] = x;
        error = 0;
    }
    else
        error = 1;
}

int stk_pop(void)
{
    if (ptr > 0)
    {
        int x = data[--ptr];
        error = 0;
        return x;
    }
    else
    {
        error = 1;
        return STK_ERROR;
    }
}

int stk_top(void)
{
    if (ptr > 0)
    {
        error = 0;
        return data[ptr-1];
    }
    else
    {
        error = 1;
        return STK_ERROR;
    }
}

int stk_size(void)
{
    return ptr;
}

int stk_error(void)
{
    return error;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?