线性结构的两种常见应用之一 栈
定义
一种可以实现“先进后出”的存储结构
栈类似于箱子
分类
静态栈
动态栈
算法
出栈
入栈
应用
函数调用
中断
表达式求值
内存分配
缓存处理
迷宫
//栈
#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>
typedef struct Node
{
int data;
struct Node *pNext;
}NODE,*PNODE;
typedef struct Stack
{
PNODE pTop;
PNODE pBottom;
}STACK,*PSTACK;//PASTCK等价于struct STACK*
void init(PSTACK);
void push(PSTACK,int );
void traverse(PSTACK);
bool pop(PSTACK,int *);
void clear(PSTACK pS);
int main(void)
{
STACK S;//STACK 等价于struct Stack
int val;
init(&S);//目的是造出一个空栈
push(&S,1);//入栈
push(&S,2);
push(&S,3);
push(&S,4);
push(&S,5);
push(&S,6);
traverse(&S);//遍历输出
clear(&S);//清除
traverse(&S);//遍历输出
if