list link problem
PJ_IDEF(void) pj_list_insert_after(pj_list_type *pos, pj_list_type *node)
{
((pj_list*)node)->prev = pos;
((pj_list*)node)->next = ((pj_list*)pos)->next;
((pj_list*) ((pj_list*)pos)->next) ->prev = node;
((pj_list*)pos)->next = node;
}
这list 是怎么link上的???
[解决办法]
这是链表的最基本功能,插入操作
就是通过一个成员变量指针记录下下一个元素的地址,这样就串联成一个链表了
[解决办法]
额 画下图应该就会很清晰明了了吧。将node插到pos所指节点的后面。
先将node的prev指针指向node所指节点,然后将node的next指向pos所指节点的下一个节点。然后再将node所指节点的下个节点的Prev指针指向node节点。最后将pos所指节点的next指向pos所指节点