数据结构 – 栈的链式存储结构

同单链表类似,每一个节点都有指向下一个节点的指针域,但是不同于单链表的是,栈只能是top(栈顶)位置的元素在变化, 换句话说,栈的插入和删除都是针对固定的位置,不像单链表,只要位置合理,可以是任意的位置。所以栈的操作,不管是顺序结构还是链式结构,相对来说都简单很多。

定义
typedef struct StackStruct{
    ElemType e;
    SSLP next;
}SSL,*SSLP;

typedef struct LinkList{
    SSLP top;  
}
 插入和删除

和顺序栈不同,这里的top不再是游标,可以理解成一个对象。插入只需将新的结点赋值给top,再讲新节点的next指向原来的top

s->next = S->top;
 S->top = s;

删除也类似,将top指向的结点弹出,top的next变成新的top

S->top = S->top->next

栈的链式存储结构-php代码模拟

 

Leave a comment

电子邮件地址不会被公开。 必填项已用*标注