数据结构——栈实现括号匹配
真正学习之后,才发现那些所谓的大婶不过是多用功了些。不知道以前为什么不亲自动手做做,原来这么简单。#include <stdio.h> #include <stdlib.h> #include <malloc.h> #include <string.h> /**栈的链式存储**/ typedef struct Data{ char c; }; typedef struct Stack{ Data data; Stack *top; //指向栈顶元素 }; /**初始化空栈**/ void InitStack(Stack *S){ S->top = NULL; } /**判断是否为空栈**/ int StackEmpty(Stack S){ //为空返回1否则返回0 if(S.top==NULL) return 1; else return 0; } /**返回栈顶元素**/ void GetTop(Stack S,Data *d){ if(StackEmpty(S)==1) printf("It's an empty stack!"); else{ d->c = S.top->data.c; } } /**向栈顶插入新元素 入栈**/ void PushStack(Stack *S,Data d){ Stack* p