View Code
#include <stdio.h>
typedef struct
{
int stack[ 100];
int top;
}seqstack;
void stackinitiate(seqstack *s)
{
s->top= 0;
}
int stacknotempty(seqstack s)
{
if (s.top<= 0) return 0;
else return 1;
}
void stackpush(seqstack *s, int x)
{
s->stack[s->top]=x;
s->top++;
}
void stackpop(seqstack *s, int *x)
{
s->top--;
*x=s->stack[s->top];
}
void stacktop(seqstack *s, int *x)
{
*x=s->stack[s->top- 1];
}
int main()
{
seqstack mystack;
int i,x;
stackinitiate(&mystack);
for (i= 0;i< 10;i++)
stackpush(&mystack,i+ 1);
stacktop(&mystack,&x);
printf( " 当前栈顶数据元素为:%d\n ",x);
while (stacknotempty(mystack))
{
stackpop(&mystack,&x);
printf( " %d ",x);
}
printf( " \n ");
return 0;
typedef struct
{
int stack[ 100];
int top;
}seqstack;
void stackinitiate(seqstack *s)
{
s->top= 0;
}
int stacknotempty(seqstack s)
{
if (s.top<= 0) return 0;
else return 1;
}
void stackpush(seqstack *s, int x)
{
s->stack[s->top]=x;
s->top++;
}
void stackpop(seqstack *s, int *x)
{
s->top--;
*x=s->stack[s->top];
}
void stacktop(seqstack *s, int *x)
{
*x=s->stack[s->top- 1];
}
int main()
{
seqstack mystack;
int i,x;
stackinitiate(&mystack);
for (i= 0;i< 10;i++)
stackpush(&mystack,i+ 1);
stacktop(&mystack,&x);
printf( " 当前栈顶数据元素为:%d\n ",x);
while (stacknotempty(mystack))
{
stackpop(&mystack,&x);
printf( " %d ",x);
}
printf( " \n ");
return 0;