中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

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
彩票| 泰宁县| 汨罗市| 夏河县| 平湖市| 兴安县| 甘南县| 星座| 商丘市| 凤城市| 噶尔县| 南城县| 哈巴河县| 夏邑县| 普安县| 维西| 澜沧| 麻阳| 海宁市| 政和县| 汝阳县| 钦州市| 勐海县| 醴陵市| 九龙县| 浦江县| 威宁| 福泉市| 孟津县| 蓬莱市| 天津市| 合水县| 公安县| 调兵山市| 库车县| 大邑县| 华安县| 息烽县| 寿阳县| 惠来县| 万荣县|