#include<stdio.h>
#include<stdlib.h>
#define MAXSIZE 100
//定义结构体
typedef struct
{
int data[MAXSIZE];
int top;
}SeqStack;
//初始化栈
SeqStack *InitStack(SeqStack *S)
{
S=(SeqStack *)malloc(sizeof(SeqStack));
S->top=-1;
return S;
}
//入栈
int Push(SeqStack *S,int item)
{
if(S->top == MAXSIZE-1)
{
printf("Stack is overflow!\n");
return 0;
}
S->top++;
S->data[S->top]=item;
return 1;
}
//出栈
int Pop(SeqStack *S,int *item)
{
if(S->top == -1)
{
printf("Stack is empty!\n");
return 0;
}
*item=S->data[S->top--];
return 1;
}
//取栈顶元素
int GetStack(SeqStack *S)
{
if(S->top == -1)
{
printf("Stack is empty!\n");
return 0;
}
return S->data[S->top];
}
//判空
int StackEmpty(SeqStack *S)
{
if(S->top == -1)
return 0;
else
return 1;
}
//栈长
int StackLen(SeqStack *S)
{
return S->top+1;
}
//清空栈
int StackClear(SeqStack *S)
{
S->top=-1;
return 1;
}
int main()
{
SeqStack *S;
S=InitStack(S);
}
栈(顺序存储)
最新推荐文章于 2022-12-21 08:39:23 发布