1.初始化
void init(Psqlstack P)
{
P->top = 0;
}
2.进栈
void push(Psqlstack P,int e)
{
if(P->top == MAXSIZE)
{
printf(";栈满";);
}
P->data[P->top] = e;
P->top++;
}
3.出栈
void pop(Psqlstack P)
{
if(P->top == 0)
{
printf(";栈空";);
}
P->top--;
}
4.打印
void print(Psqlstack P)
{
int i;
for(i=0;i<P->top;i++)
{
printf(";%d ";,P->data[i]);
}
printf(";\;n";);
}
完整代码
#include <stdio.h>
//顺序栈的基本操作
#define MAXSIZE 100
typedef struct
{
int data[MAXSIZE];
int top;
}Sqlstack,*Psqlstack;
//初始化
void init(Psqlstack P)
{
P->top = 0;
}
//进栈
void push(Psqlstack P,int e)
{
if(P->top == MAXSIZE)
{
printf(";栈满";);
}
P->data[P->top] = e;
P->top++;
}
//出栈
void pop(Psqlstack P)
{
if(P->top == 0)
{
printf(";栈空";);
}
P->top--;
}
//打印
void print(Psqlstack P)
{
int i;
for(i=0;i<P->top;i++)
{
printf(";%d ";,P->data[i]);
}
printf(";\;n";);
}
main()
{
Sqlstack s;
init(&s);
push(&s,1);
push(&s,2);
push(&s,3);
push(&s,4);
print(&s);
pop(&s);
print(&s);
}
如有错误,欢迎纠正