#include <stdio.h>
#include <stdlib.h>
typedef int Status;
#define TRUE 1
#define FALSE 0
#define MAXSIZE 1000
typedef int SElemType;//假设数据是int
typedef struct
{
SElemType data[MAXSIZE];
int top;//栈顶指针
}SqStack;
Status push(SqStack *stack, SElemType e)
{
if(stack->top >= MAXSIZE-1)
return FALSE;
stack->top++;
stack->data[stack->top] = e;
return TRUE;
}
Status pop(SqStack *stack, SElemType *e)
{
if(stack->top <0)
return FALSE;
*e = stack->data[stack->top];
stack->top--;
return TRUE;
}
void main(void)
{
int i = 0,getdata = 0;
SqStack stack;
stack.top = -1; //空栈的时候是-1
for(i = 0; i<10; i++)
{
push(&stack, i);
}
for(i = 0; i<10; i++)
{
pop(&stack,&getdata);
printf("getdata = %d\r\n",getdata);
}
}
栈的顺序结构
最新推荐文章于 2023-03-31 22:56:32 发布