zoukankan      html  css  js  c++  java
  • 数据结构2-关于链表的插入算法自己的思考

    链表的插入

    初始条件:1.带有头结点的链表 2.插入位置 i 3.插入的节点Node

    基本操作:假设p指向某个节点 q指向被插入的节点 则可以执行的是在p之后插入节点 

    初始化:1.p=L 指向头结点 2.j=1

    寻找第i-1个结点:

        while(j<i){

          p=p->next;

          j++;
        }

    这样最终指向的是第i-1个结点;

    i的不同情况:1.i<1 直接跳出 2.1<=i<=length 可以正常执行 3.i=length+1 在链表末尾插入数据 4.i>length+1 出现空指针异常

    杜绝最后一种情况 :加入判断条件:p不为空

    循环改为:

        while(p && j<i){

          p=p->next;

          j++;
        }

    在判断中剔除 1 与 4 的情况 

        if(!p || j>i){

          return ERROR;
        }

    操作:q->next=p->next

       p->next=q;

  • 相关阅读:
    mysql 查看表注解
    oracle 相关
    sql version control
    ccna
    msql 清库
    mybatisplus,application.properties 配置数据库密码加密
    驱动开发print无法输出问题
    bochs帮助
    以虚御虚用虚拟机调试vt程式
    ssm整合
  • 原文地址:https://www.cnblogs.com/zcs2020/p/13225056.html
Copyright © 2011-2022 走看看