#include <stdio.h>
#include <stdlib.h>
void push(int);
int pop();
int *pi = NULL;//top指針
int *tos = NULL;//head指針
int main()
{
int v;
//申請50個int的空間
pi = (int *)malloc(50*sizeof(int));
if(!pi)
{
printf("allocation failure\n");
exit(0);
}
tos = pi;
do
{
printf("please input value, push it;enter 0 then pop;(enter -1 then stop)\n");
scanf("%d", &v);
if(v!=0)
push(v);//加入空間
else
printf("pop this is it %d\n", pop());
} while(v!=-1);
free(tos);
}
void push(int i)
{
pi++;
if(pi==(tos+50))
{
printf("stack overflow\n");
exit(0);
}
*pi = i;
}
int pop()
{
if(pi==tos)
{
printf("stack underflow\n");
exit(0);
}
pi--;
return *(pi+1);
}
C語言實現棧的操作
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.