如果保持在队列中删除和添加节点,当分配和释放节点时,将使可用的内存碎片化.对于通过链表实现的队列,可以有两种选择.
第一种选择是使用自己的函数来分配和返回内存.这个函数将分配一个节点池.然后使用和返回这些节点.
第二种选择是创建一个未使用节点的链表.当把项目添加到队列中时,就把节点从空闲链表移到队列中;
当项目出队时,就把节点返回到空闲链表中。
如果保持在队列中删除和添加节点,当分配和释放节点时,将使可用的内存碎片化.对于通过链表实现的队列,可以有两种选择.
第一种选择是使用自己的函数来分配和返回内存.这个函数将分配一个节点池.然后使用和返回这些节点.
第二种选择是创建一个未使用节点的链表.当把项目添加到队列中时,就把节点从空闲链表移到队列中;
当项目出队时,就把节点返回到空闲链表中。