栈的顺序存储实现

来源:互联网 发布:protobuf3 java 编辑:程序博客网 时间:2024/04/26 07:42

栈原则是先进后出,栈是限定仅在表尾进行插入和删除操作的线性表


栈的顺序储存结构实现如下:

/** * 栈的顺序存储实现 */#include <stdio.h>#define MAXSIZE 20#define OK 1;#define ERROR 0;typedef int SElemType;typedef int Status;typedef struct {SElemType data[MAXSIZE];int top;}SqStack;void InitSqStack(SqStack *S){S->top = 0;}/** * 进栈 */Status Push(SqStack *S, SElemType e){if(S->top == MAXSIZE -1){return ERROR;}S->top++;S->data[S->top] = e;return OK;}Status Pop(SqStack *S, SElemType *e){if(S->top == -1){return ERROR;}*e = S->data[S->top];S->top--;return OK;}void main(){SqStack S;InitSqStack(&S);Push(&S, 10);int k;Pop(&S, &k);printf("k=%d", k);}


0 0