双链表删除 [英] Double Linked List delete

查看:66
本文介绍了双链表删除的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

双链表删除方法,但不删除提供给它的号码。

A double linked list delete method but it is not deleting the number provided to it.

Node node = head;
tail = head;
node = node.next;
while (tail != null) {
    tail.next = node;
    node.previous = tail;
    if (tail.data == data)
        break;
    tail = tail.next;
    node = node.next;
}
tail.previous = node.previous;
node.previous = tail.previous;


推荐答案

尝试以下逻辑

    node = head;
    while (node != null) {
        if (node.data == data){
            //now you want to delete node
            if(node.previous != null) node.previous.next = node.next;
            if(node.next != null) node.next.previous = node.previous;
            return true; //found 
        }        
        node = node.next;
    }
    return false; //not found

这篇关于双链表删除的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆