C/C++の宿題を片付けます 66代目

このエントリーをはてなブックマークに追加
17デフォルトの名無しさん
>>13
struct stack{int x; struct struct* next;};
struct stack* STACK=NULL;
void push(int x){struct stack* sp=STACK;while(!sp)sp=sp->next;
sp=(struct stack*)malloc(sizeof(struct stack));sp->x=x;sp->nextNULL;}
int pop(){int ret;struct stack* sp=STACK;struct stack* prev=NULL;
while(sp){prev=sp;sp=sp->next;}if(sp){ret=sp->x;prev->next=NULL;free(sp);return ret;}
return 0;}
void empty(){struct stack* sp=STACK;struct stack* next=NULL;
while(sp){next=sp->next;free(sp);sp=next;}}
void show(){struct stack* sp=STACK;while(sp){printf("%i\n",sp->x);sp=sp->next;}}