栈:先进后出,顺序栈,链栈
定义:
顺序栈:数组,栈顶指针
链栈:数据域,指针域
顺序栈:
要素:4个
前提了解:
状态:顺序栈的状态靠状态码
入栈出栈效率代码:++a 比 a++ 效率要高,等效情况下,使用++a
核心基础
栈空:-1,栈空会下溢
栈满:-1,入栈会上溢
入栈:先动指针,再入元素。考虑空栈状态码为负数,不存在负状态码,负状态码是人为设定的。
出栈:先出元素,再动指针。栈顶指针指当前元素。
依据核心内容的延申操作
初始化栈:表示一个状态,初始化栈为空,使用状态码判定
链栈
要素:4个
前提了解:
状态:结合了链表特性,不使用状态码。在链表中,空链表与NULL结合
核心基础
栈空:栈链 -> next = NULL
栈满:不存在栈满的情况,栈满即内存满
入栈:头插法,单链表的插入操作。结合栈的性质,先进后出,只有一头可以操作
出栈:单链表的删除操作。
依据核心内容的延申操作
初始化栈:1)创造头结点。2)头结点->next = NULL
(结合链表的性质,线性表一节里的带头结点的空单链表)
判断栈空:1)头结点->next = NULL 2)状态码