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

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

相关推荐

每晚夜里独自颤抖:你cet6就cet6,cet4就cet4,你写个cet证书等是什么意思。专业技能快赶上项目行数,你做的这2个项目哪里能提现你有这么多技能呢
点赞 评论 收藏
分享
牛客38347925...:9,2学生暑期实习失利开始投小厂,给这群人整自信了
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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