栈(stack):仅允许在一端进行插入删除操作的线性表
允许插入删除操作的一端叫栈顶top ,另一端叫栈底button
栈是一种“后进先出”的线性表(Last In First Out ,LIFO)
栈的插入操作:压栈(Push)
栈的删除操作:弹 栈(Pop)
(因为第一个出栈元素是三,意味着1,2已经进栈,则二一定在一之前出栈)
关于栈的操作
判空:top == -1
判满: top == MAX-1
压栈:1.判满 2.top++,a[top]=e;
弹栈 :1.判空 2.*e=a[top];top --
清空:top=-1
链式栈:
判空:head->next == NULL
判满:链表是不定长,所以不需要判满
压栈:头插法
弹栈:链的删除
清空:链表的删除,一个个删除再 free
扩充:(递归函数)