91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

C#雙向鏈表節點的刪除與插入

c#
小樊
87
2024-08-23 15:38:33
欄目: 編程語言

雙向鏈表是一種數據結構,其中每個節點都包含兩個指針,一個指向前一個節點,一個指向后一個節點。在C#中,可以使用自定義類來實現雙向鏈表節點的刪除與插入操作。

以下是一個簡單的雙向鏈表節點類示例:

public class Node
{
    public int Value { get; set; }
    public Node Prev { get; set; }
    public Node Next { get; set; }

    public Node(int value)
    {
        Value = value;
        Prev = null;
        Next = null;
    }
}

現在我們來實現雙向鏈表節點的刪除和插入操作:

public class DoublyLinkedList
{
    private Node head;

    public void Insert(int value)
    {
        Node newNode = new Node(value);
        if (head == null)
        {
            head = newNode;
        }
        else
        {
            Node current = head;
            while (current.Next != null)
            {
                current = current.Next;
            }
            current.Next = newNode;
            newNode.Prev = current;
        }
    }

    public void Delete(int value)
    {
        Node current = head;
        while (current != null)
        {
            if (current.Value == value)
            {
                if (current.Prev != null)
                {
                    current.Prev.Next = current.Next;
                }
                if (current.Next != null)
                {
                    current.Next.Prev = current.Prev;
                }
                if (current == head)
                {
                    head = current.Next;
                }
                break;
            }
            current = current.Next;
        }
    }
}

在上面的示例中,我們首先定義了一個Node類來表示雙向鏈表的節點。然后我們定義了一個DoublyLinkedList類,其中包含InsertDelete方法來插入和刪除節點。

Insert方法中,我們首先創建一個新的節點,并根據鏈表是否為空來確定是否將其設置為頭節點或者將其添加到鏈表末尾。在Delete方法中,我們遍歷鏈表查找要刪除的節點,并將其從鏈表中移除。

通過使用上述代碼,可以輕松地在C#中實現雙向鏈表節點的刪除和插入操作。

0
疏勒县| 龙泉市| 扎兰屯市| 会理县| 客服| 江城| 云阳县| 甘南县| 尼勒克县| 阳信县| 富民县| 太和县| 寿阳县| 秦安县| 时尚| 靖安县| 两当县| 沾化县| 罗山县| 洛南县| 聂拉木县| 化德县| 依兰县| 奉化市| 集贤县| 静乐县| 油尖旺区| 赤城县| 澄城县| 沙湾县| 南川市| 阳东县| 长汀县| 阿勒泰市| 巴南区| 宜丰县| 探索| 北海市| 西丰县| 子洲县| 北辰区|