单链表最基本的单位:节点
头节点:指针域指向链表的第一个节点
尾指针:指向最后一个节点
每个节点有两个东西:数据,指针
头指针永远指向第一个节点
双两链表只有对于前驱和这个节点有优势
数组没有结构可言
顺序表向后移动,则向后插入,向前则向前移动
取i个元素的时间与i的大小有关
取i个元素的时间与i的元素大小无关关
双链表 a.pre==a.next==null;
循环单链表为空 L->next==L;
来点数组的代码,精神一下
调整顺序,先用后修改
两个降序,时间为n,m,合并成时间复杂度为O(m*n)
只有尾节点指针rear,没有头节点的非空循环链单链表,删除尾节点的时间复杂度为O(n)
删除尾节点,只有循环双链表,带尾指针的单链表为O(1)
p,q有类型 ,指向同一个地址,
栈,删除,插入,出
栈的操作特性:后进先出
栈满:top= MAX_SIZE(最后一个位置的下标)-1
目的是为了降低时间复杂度,数据从0开始放
top,整形指针,保存的是下标
放在原栈顶元素之上,形成新的栈顶元素
每次出栈的总是当前栈中“最新”的元素,即最后进栈的元素——当前的栈顶元素。
栈底在表头