栈的插入声明 主要行为 行为代码 补充行为 行为代码 | status push (sqstack *s,int e)
栈顶下标+1; 新栈顶赋值
s->top++; s->data[s->top]=e;
栈满报错
if(s->top==MAXSIZE-1) return ERROR;
|
栈的弹出声明 主要行为 行为代码 补充行为 行为代码 | status pop(sqstack*s,int*e) 用*e接受被删除的数据 栈顶下标-1 *e=s->data[s->top]; s->top--; 若为空栈,报错 if(s->top==-1) return ERROR; |
完整代码:
#include<stdio.h>
#include<stdlib.h>
#include<ctype.h>
#include <string.h>
//-----------------------------
#define OK 1
#define ERROR 0
#define TRUE 1
#define FALSE 0
typedef int status;
#define MAXSIZE 20
//-----------------------------
typedef struct sqstack
{
int data[MAXSIZE];
int top;
}sqstack;
status push (sqstack *s,int e)
{
if(s->top==MAXSIZE-1)
return ERROR;
s->top++;
s->data[s->top]=e;
}
status pop(sqstack*s,int*e)
{
if(s->top==-1)
return ERROR;
*e=s->data[s->top];
s->top--;
}
void test()
{
}
int main()
{
test();
system("pause");
return 0;
}