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

在第一个值为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);
        }
    }
}
全部评论

相关推荐

头像
02-26 13:58
门头沟学院 Java
北城_阿亮:把八股背一背,包装一下实习经历项目经历,要是有心思考证就考一考,然后把别人的项目爬到自己github上,包装到简历里,什么三个月?一个月!
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务