第2个回答 2006-08-08
堆栈采用先进后出的策略
基本操作是存和取
习惯称
push(压入)
pop(弹出)
//先要确定开辟内存区的大小
#define Max ???
//用于指向开辟的内存空间
int *p
//指向堆顶
int *tos
//指向堆底
int *bos
//添加一个数据到堆顶
void push(int i)
{
if(p>bos)
{
printf("堆栈已满\n");
return;
}
*p=i;
p++;
}
//从堆栈取出一个数据
int pop(void)
{
p--;
if(p<tos)
{
printf("堆栈下溢\n");
return 0;
}
return *p;
}
...
...