#include<stdio.h>
#include<stdlib.h>
const int M=100;
typedef struct
{
int data[M];
int top;
}Stack;
void InitStack(Stack &S)
{
S.top=-1;
}
int StackEmpty(Stack S)
{
return S.top==-1 ? 1 :0;
}
int Push(Stack &S, int e)
{
if(S.top==M-1)
return 0;
S.data[++S.top]=e;
return 1;
}
int Pop(Stack &S,int &e)
{
if(S.top==-1)
return 0;
e=S.data[S.top--];
return 1;
}
int main(void)
{
int i;
int e;
const int N=10;
Stack S;
InitStack(S);
for(i=0;i<N;++i)
{
Push(S,i);
}
for(i=0;i<N;++i)
{
Pop(S,e);
printf("data[%d]=%d\n",i,e);
}
system("pause");
return 0;
}
#include<stdlib.h>
const int M=100;
typedef struct
{
int data[M];
int top;
}Stack;
void InitStack(Stack &S)
{
S.top=-1;
}
int StackEmpty(Stack S)
{
return S.top==-1 ? 1 :0;
}
int Push(Stack &S, int e)
{
if(S.top==M-1)
return 0;
S.data[++S.top]=e;
return 1;
}
int Pop(Stack &S,int &e)
{
if(S.top==-1)
return 0;
e=S.data[S.top--];
return 1;
}
int main(void)
{
int i;
int e;
const int N=10;
Stack S;
InitStack(S);
for(i=0;i<N;++i)
{
Push(S,i);
}
for(i=0;i<N;++i)
{
Pop(S,e);
printf("data[%d]=%d\n",i,e);
}
system("pause");
return 0;
}