数据结构系列之链表——单链表插入值为num的节点

 p0为待插入地址

步骤:

1.插入在头节点以前,p0->next=p1;head=p0;

2.插入中间节点,p2->next=p0;p0->next =p1;

3.插入尾节点,p1->next=p0;p0->next->NULL;

代码:

node* insert(node *head,int num){

    //由小到大有序单链表插入值num的节点

    node *p0,*p1,*p2;

    p1=head;

    p0=(node*)malloc(sizeof(node));

    p0->data=num;

    while(p0->data>p1->data&& p1->next!=NULL){

           p2=p1;

           p1=p1->next;

    }

    if(p0->data<=p1->data){

           if(head==p1){  //插入头节点

                  p0->next=p1;

                  head=p0;

           }else{                   //插入中间节点

                  p2->next=p0;

                  p0->next=p1;

           }

    }else{                          //插入尾节点

           p1->next=p0;

           p0->next=NULL;

    }

    return(head);

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值