链栈 - 栈的链式存储

    xiaoxiao2024-08-23  44

    链栈:解决顺序栈的上溢问题,链栈不需要设置头结点,因为头指针就是栈顶指针,插入删除均在均在表的一端进行。top为链表头指针。

    1.结点结构与单链表相同 (top为头指针)

    typedef struct node { int data; struct node *next; }Stack_node;

    2.置栈空

    void init(Stack_node ** top) { *top = NULL; }

    3.入栈 改变头指针传双重指针

    void push(Stack_node **top,int a) { Stack_node *p = (Stack_node*)malloc(sizeof(Stack_node)); p->data = a; p->next = *top; *top = p; }

    4.出栈与进栈同理 出栈判栈空即:头指针Stack_node *top 是否为NULL

    转载请注明原文地址: https://ju.6miu.com/read-1292002.html
    最新回复(0)