栈的链式存储结构
链式存储结构节点可描述如下
typedef struct node
{
datatype data;
node* next;
}snode,*slink;
设top为栈顶指针,指向当前元素。后进栈的元素的指针next指向先进栈的元素,出栈是,去除top指针所指向的元素。
1 栈的置空算法
LClearstack(slink top)
{
top=null;
}
2 判断栈是否为空的算法
int Lemptystack(slink L)
{
if(top=null)
return 1;
else
return 0;
}
3 进栈的算法
int LPush(slink top,datatype e)
{
slink p;
p = (slink)malloc(sizeof(snode));
p->data = e;
p->next = ;
top = p;
}
4 出栈算法
datatype LPop(slink top)
{
if (top = null)
{
return false;
}
else
{
slink p;
datatype e = top->data;
p = top;
top = top->next;
free(p);
return e;
}
}
浙公网安备 33010602011771号