栈 是一种线性结构.
队列,
先进先出
栈,
后进先出
。push方法入栈,pop方法出栈。。
1:初始化栈!
2:判断栈的状态!
3:入栈!
4:出栈!
注意点
1:进栈时要先判断是否满了
top>=size-1
2:出栈时判断是否为空
top==-1
#include <stdio.h>
#include <stdlib.h>
#define size 100
//初始化栈空间
int stack[size];
//代表空
int top=-1;
//判断是否满
int IsFull()
{
if(top>=size-1)
return 1;
else
return 0;
}
//判断是否为空
int IsEmpty()
{
if(top==-1)
return 1;
else
return 0;
}
//进栈
void push(int data)
{
if(IsFull())
printf("Stack is Full!");
else
{
top++;
stack[top]=data;
}
}
int pop()
{
int data=-1;
if(IsEmpty())
{
printf("Stack is Empty");
return 0;
}
else
{
data=stack[top];
top--;
return data;
}
}
void main()
{
int a[]={1,2,3,4,5};
int data;
for(int i=0;i<5;i++)
push(a[i]);
while(top>-1)
{
data=pop();
printf("%d",data);
}
system("pause");
}