【数据结构】栈的实现原理——数组+循环


代码展示:

#include 
//定义栈大小
//栈里面的内容可以是任意数据类型,此处重在说明栈的实现原理
char stack[512];
int top = 0;
void push(char c);
char pop();
int is_empty();

int main(void){
    push('a');
    push('b');
    push('c');
    while(!is_empty()){
        putchar(pop());
    }
    putchar('\n');
    return 0;
}
//入栈
void push(char c){
    stack[top++] = c;
    //top++;
}
//出栈
char pop(void){
    return stack[--top];
}
//判断栈是否为空
int is_empty(void){
    return 0 == top;
}

 运行结果: