栈是一种符合先进后出原则的数据结构
主要操作氛围进栈和弹栈。规则是栈顶元素先弹出而后进栈,进栈就是一个新的元素取代原本的栈顶元素。
栈可以用来进行最基本的括号匹配操作,栈的图示为:(转载)
具体代码如下
//定义栈
typedef struct zhan{
int top;
int data[max_size];
}*zhanptr; //of typedef
//输出栈
void outputzhan(zhanptr paraptr)
{
int i;
for(i=0;i<paraptr->top;i++)
{
printf("%c ",paraptr->data[i]);
}
printf("\r\n");
} //of output function
//
接下来是压栈和弹栈的操作,压栈就是将一个元素放到栈顶,弹栈就是将栈顶元素弹出
void pushzhan(int paravalue,zhanptr paraptr)
{
if(paraptr->top >=max_size-1)
{
printf("can not do the action!\n");
}
paraptr->top++;
paraptr->data[paraptr->top]=paravalue;
} //of push fuction