首页 > 其他 > 详细

双向链表按顺序添加的注意点

时间:2021-04-16 12:58:57      阅读:39      评论:0      收藏:0      [点我收藏+]

双向链表按顺序添加Node的时候,要先处理Node后面的指针,再处理Node前面的指针,原因在于:

  1. 如果先把Node和链表前半截连起来,链表前半截指向链表后半截的指针就没了,这样后半截链表就找不到了

  2. 先把Node和链表后半截连起来,这样由于Node是可以直接找到的,所以可以进行将Node和链表前半截连接的操作

public void addByOrder(Node node) {
        Node temp = head;
        while (true) {
            if (temp.next == null) {
                break;
            }
            if (temp.next.no >= node.no) {
                break;
            }
            temp = temp.next;
        }


        if (temp.next != null) {
            node.next = temp.next;
            temp.next.pre = node;
        }
        temp.next = node;
        node.pre = temp;
    }

另外注意如果Node放到了链表最后一个位置,按照一种范式连接的时候,temp.next为null会出现空指针的问题,所以要加一个判断命令。

双向链表按顺序添加的注意点

原文:https://www.cnblogs.com/LostSecretGarden/p/14665968.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!