leiyahui

纸上得来终觉浅,绝知此事要躬行
栈的链式存储结构

链式存储结构节点可描述如下

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

 

posted on 2015-11-14 21:29  雷大叔  阅读(159)  评论(0)    收藏  举报