顺序栈

来源:互联网 发布:开发者 读书app 知乎 编辑:程序博客网 时间:2024/06/14 21:15
#include<stdio.h>#define MAXSIZE 100typedef struct{int data[MAXSIZE];int top;}Stack;//初始化栈  void InitStack(Stack *s);//判栈是否为空 int Empty(Stack *s);//返回栈顶元素 int Top(Stack *s);//删除栈顶 void Pop(Stack *s);//入栈void Push(Stack *s, int e);//清空栈void Clear(Stack *s);void InitStack(Stack *s){s->top = -1;} int Empty(Stack *s){ if (s->top == -1){ return 0; }  return 1; } int Top(Stack *s){ if (Empty(s) == 1){ return s->data[s->top];}return -1; } void Pop(Stack *s){ if (Empty(s) == 1){ s->top--; } } void Push(Stack *s, int e){s->data[++s->top] = e; }  void Clear(Stack *s){ s->top = -1; } int main(){Stack s;InitStack(&s);if(Empty(&s) == 1){printf("栈有值\n"); } else{printf("栈 空\n");}for (int i=0; i<10; i++){Push(&s, i);}Pop(&s);printf("栈顶元素为:%d",Top(&s));Clear(&s);return 0;}

0 0
原创粉丝点击