亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

C#雙向鏈表的插入與刪除操作

c#
小樊
83
2024-08-29 04:46:58
欄目: 編程語言

在C#中,雙向鏈表是一種數據結構,其中每個節點都有兩個指針,一個指向前一個節點,另一個指向后一個節點

首先,我們需要定義一個雙向鏈表節點類:

public class DoublyLinkedListNode<T>
{
    public T Value;
    public DoublyLinkedListNode<T> Previous;
    public DoublyLinkedListNode<T> Next;

    public DoublyLinkedListNode(T value)
    {
        Value = value;
        Previous = null;
        Next = null;
    }
}

接下來,我們可以實現插入和刪除操作:

public class DoublyLinkedList<T>
{
    public DoublyLinkedListNode<T> Head;
    public DoublyLinkedListNode<T> Tail;

    // 在鏈表頭部插入節點
    public void InsertAtHead(T value)
    {
        var newNode = new DoublyLinkedListNode<T>(value);
        if (Head == null)
        {
            Head = newNode;
            Tail = newNode;
        }
        else
        {
            newNode.Next = Head;
            Head.Previous = newNode;
            Head = newNode;
        }
    }

    // 在鏈表尾部插入節點
    public void InsertAtTail(T value)
    {
        var newNode = new DoublyLinkedListNode<T>(value);
        if (Tail == null)
        {
            Head = newNode;
            Tail = newNode;
        }
        else
        {
            newNode.Previous = Tail;
            Tail.Next = newNode;
            Tail = newNode;
        }
    }

    // 刪除指定值的節點
    public void Delete(T value)
    {
        var currentNode = Head;
        while (currentNode != null)
        {
            if (currentNode.Value.Equals(value))
            {
                if (currentNode.Previous != null)
                    currentNode.Previous.Next = currentNode.Next;
                else
                    Head = currentNode.Next;

                if (currentNode.Next != null)
                    currentNode.Next.Previous = currentNode.Previous;
                else
                    Tail = currentNode.Previous;
            }
            currentNode = currentNode.Next;
        }
    }
}

這里我們實現了三個方法:InsertAtHead用于在鏈表頭部插入節點,InsertAtTail用于在鏈表尾部插入節點,Delete用于刪除指定值的節點。你可以根據需要調用這些方法來操作雙向鏈表。

0
泊头市| 隆昌县| 吴桥县| 施秉县| 朔州市| 侯马市| 富锦市| 桐乡市| 山阳县| 松潘县| 彰武县| 垣曲县| 简阳市| 乌拉特后旗| 合山市| 泽普县| 全南县| 石泉县| 临汾市| 邵阳县| 江城| 高邮市| 锦屏县| 图们市| 西和县| 泽州县| 清丰县| 南城县| 阳江市| 龙川县| 三门县| 虎林市| 时尚| 太保市| 象州县| 滕州市| 襄汾县| 双柏县| 宜城市| 娄烦县| 廉江市|