数据结构第二章:线性表
- 用顺序表(数组)实现线性表时,数组中存在两个链表,一个是已分配链表,一个是空闲结点串成的链表,两个链表都需要额外的单变量来表示链表第一个元素的索引。
- 通常在数组的0索引对应位置的元素存放空闲节点串成的链表的第一个节点所在索引,值为0则表示当前无空闲节点;而已分配链表则在数组外额外声明一个变量用于保存其第一个元素的索引,可以使值为0表示size为0。
- 初始化时,将数组所有元素(除0索引对应元素用于做头)串成一个空闲链表,最后一个节点值为0表示无下一元素。
- 插入节点时需要从空闲链表取得一个节点用于分配,总是分配空闲节点链表的第一个节点。
- 删除节点时需要将被删节点归还到空闲节点链表,总是归还至空闲节点链表的第一个节点之前。
- 用链表来表示多项式