入栈和出栈
#include<iostream.h>#include<malloc.h>
#include<stdio.h>
#define Stack_Size 20
typedef struct
{
int elem[Stack_Size];
int top;
}
Seqstack;
void initStack(Seqstack &s)
{
s.top= 0;
}
int Push( Seqstack &s,int x )
{
if (s.top == Stack_Size) return 0;
s.elem[s.top] = x;
s.top++;
return 1;
}
int Pop(Seqstack &s,int &i)
{
if(s.top == 0) return 0;
else
{
--s.top;
i = s.elem[s.top];
return 1;
//s.top--;
}
}
int main()
{
Seqstack seq;
initStack(seq);
int n=90;
int i=1;
while(i>0)
{
i = Push(seq,n);
n--;
}
i=1;
int m=1;
while (true)
{
i = Pop(seq,n);
if(i==0) break;
cout<<m<<" "<<n<<endl;
m++;
}
return 0;
}