1.分配空间
(分配类型 *)malloc(分配元素个数 *sizeof(分配类型))
链表 | 链栈 | 链队列 | |
节点 | top指针 count计数 | front指针 rear指针 | |
初始化 | 1. *L 分配空间 2.分配失败 3.分配成功 | 1. S->top 分配空间 同左 | 1. Q->front ,Q->rear分配空间 同左 |
清空 | 定义节点 1.指向第一个节点(*L)->next 2.指向第二个节点 3.释放第一个节点 4.加1并重复 5.(*L)->next = NULL; | 不会 | 不会 |
长度 | p指向第一个节点,计数为0, 第一个节点如果存在,计数一,指向第二个节点 第二个节点如果存在,计数二,指向第三个节点 | S.count | p=Q.front,计数为0 Q.rear!=p,计数1 指向第二个节点 |
是否为空 | L->next = NULL,空表 | S.count==0,空栈 | Q.front==Q.rear,空队列 |
merge | |||
单链表head 不带头结点为空: head = = NULL 带头结点为空 head->next = NULL |