代码改变世界

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); }