双向链表,很有意思

/***************************
添加新的 计费链表 在old后面添加一个
******************************/
chargeinfo *add_chargeinfo(chargeinfo * old)
{
    chargeinfo * p,*q;
    p=(chargeinfo *)mymalloc(1,sizeof(chargeinfo));//为头节点分配内存空间
    p->next = old->next;
    q=old->next;
    old->next = p;    
    p->last = old;    
    q->last = p;
    
    return p;
}
/***************************
删除一个 计费链表
考虑到节点上下限问题
******************************/
void del_chargeinfo(chargeinfo * aim)
{
    chargeinfo * p,*q;
    p = aim->last;
    q = aim->next;
    //绑定节点
    p->next = q;
    q->last = p;
    myfree(1,aim);

}

猜你喜欢

转载自www.cnblogs.com/polar-lights/p/9260131.html