链表插入,删除,链表有头节点。

在第一个值为a前插入b。
void insert_node(node *head,int a,int b){     
    node *t=head;
    while(t->next!=nullptr){
        if(t->next->x==a){
            break;
        }
        t=t->next;
    }
    if(t->next==nullptr){
        node *tt=new node();
        tt->x=b;
        t->next=tt;
    }
    else{
        node *tt=new node();
        tt->x=b;
        tt->next=t->next;
        t->next=tt;
    }
}

删除第一个值为b的节点。
void delete_node(node *head,int b){
    node *t=head;
    while(t->next!=nullptr){
        if(t->next->x==b){
            break;
        }
        t=t->next;
    }
    if(t->next!=nullptr){
        node *tt=t->next;
        if(tt->next==nullptr){
            t->next=nullptr;
            free(tt);
        }
        else{
            t->next=tt->next;
            free(tt);
        }
    }
}
全部评论

相关推荐

给大家传递好运~
投递字节跳动等公司10个岗位
点赞 评论 收藏
分享
面我面我面我_秋招版:不是戈门,干哪来了,这就是java嘛
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务