1.3.18

上次更新:2019-04-17
发现了题解错误/代码缺陷/排版问题?请点这里:如何:提交反馈

解答

删除该结点的下一个结点。

如下图,没有任何结点指向 y 结点,失去了所有引用的 y 结点会被 GC 清理掉。

代码

using System;
using Generics;

namespace _1._3._18
{
    /*
     * 1.3.18
     * 
     * 假设 x 是一条链表的某个结点且不是尾结点。
     * 下面这条语句的效果是什么?
     * x.next = x.next.next;
     * 
     */
    class Program
    {
        //删除 x 的后一个结点。
        static void Main(string[] args)
        {
            Node<string> x = new Node<string>();
            x.item = "first";
            Node<string> y = new Node<string>();
            y.item = "second";
            x.next = y;
            Node<string> z = new Node<string>();
            z.item = "third";
            y.next = z;

            Console.WriteLine("x: " + x.item);
            Console.WriteLine("x.next: " + x.next.item);
            x.next = x.next.next;
            Console.WriteLine();
            Console.WriteLine("x: " + x.item);
            Console.WriteLine("x.next: " + x.next.item);
        }
    }
}

另请参阅

Generics 库

上一题 下一题