线性结构的常见应用:栈 定义:一种可以实现“先进后出”的存储结构。 分类:静态栈,动态栈 算法:出栈,压栈 应用:函数调用,中断,表达式求值,内存分配,缓冲处理,迷宫 VS2017中 c语言实现动态栈的初始化,入栈,出栈,遍历输出,判断是否为空,清空 #include<stdio.h> #include<stdlib.h> typedef struct Node { int data; struct Node * pNext; }NODE, *PNODE; typedef struct Stack { PNODE pTop;//栈的顶端 PNODE pBottom;//栈的底端 }STACK,*PSTACK; void init(PSTACK); void push(PSTACK, int); void traverse(PSTACK); bool is_empty(PSTACK); bool pop(PSTACK, int *); void clear(PSTACK); int main() { STACK S;//现有空间,内有pTop,pBottom指向一个垃圾值 int val; init(&S); push(&S,1); push(&S, 2); traverse(&S); if (pop(&S, &val)) { printf("出栈成功,出栈的元素是%d\n",