stack.htm

来自「Thinking in C 电子书的源代码」· HTM 代码 · 共 49 行

HTM
49
字号
<html><font size="+1"><pre>
/* 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 &lt; MAX) {
        data[ptr++] = x;
        error = 0;
    }
    else
        error = 1;
}

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

int stk_top(void) {
    if (ptr &gt; 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;
}
</pre></font></html>

⌨️ 快捷键说明

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