栈
2013-02-01 10:18 Dr.Ray 阅读(167) 评论(0) 收藏 举报比较简单
#include<stdio.h> #include<stdlib.h> #define max 5 struct stack { int head,tail; int *num; };
void inistack(stack * p) { p->num=(int *)malloc(6*sizeof(int)); p->head=0; p->tail=-1; }
void push(stack * p,int a) { if(p->tail==max) { printf("stack overflow\n"); return; }
else p->num[++p->tail]=a; }
void pop(stack *p) { if(p->tail==0) { printf("the stack is empty\n"); return ; } else p->tail--; }
void printstack(stack *p) { for(int i=p->head;i<=p->tail;i++) { printf("%d\n",p->num[i]); } }
int main() { stack *p; inistack(p); push(p,1); push(p,2); push(p,3); push(p,4); printstack(p); pop(p); printstack(p); push(p,5); push(p,6); push(p,7); push(p,8); }