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

溫馨提示×

c#單鏈表如何實現插入操作

c#
小樊
83
2024-10-18 11:17:24
欄目: 編程語言

在C#中,實現單鏈表的插入操作需要遵循以下步驟:

  1. 定義一個表示鏈表節點的類ListNode<T>,其中T是要存儲的數據類型。節點類包含一個指向下一個節點的引用和一個存儲數據的成員變量。
public class ListNode<T>
{
    public T Data { get; set; }
    public ListNode<T> Next { get; set; }

    public ListNode(T data)
    {
        Data = data;
        Next = null;
    }
}
  1. 創建一個表示單鏈表的類LinkedList<T>,其中包含一個指向鏈表頭部的引用。
public class LinkedList<T>
{
    public ListNode<T> Head { get; set; }

    public LinkedList()
    {
        Head = null;
    }
}
  1. LinkedList<T>類中實現插入操作的方法Insert,該方法接受兩個參數:要插入的數據和插入位置。插入位置可以是鏈表的頭部、尾部或指定節點的后面。
public void Insert(T data, int position)
{
    if (position < 0)
    {
        throw new ArgumentOutOfRangeException(nameof(position), "Invalid position");
    }

    ListNode<T> newNode = new ListNode<T>(data);

    if (position == 0)
    {
        newNode.Next = Head;
        Head = newNode;
        return;
    }

    ListNode<T> currentNode = Head;
    int currentIndex = 0;

    while (currentNode != null && currentIndex < position - 1)
    {
        currentNode = currentNode.Next;
        currentIndex++;
    }

    if (currentNode == null)
    {
        throw new ArgumentOutOfRangeException(nameof(position), "Position out of range");
    }

    newNode.Next = currentNode.Next;
    currentNode.Next = newNode;
}

現在,你可以使用LinkedList<T>類創建一個單鏈表,并使用Insert方法在指定位置插入數據。例如:

var list = new LinkedList<int>();
list.Insert(1, 0);
list.Insert(2, 1);
list.Insert(3, 2);

這將創建一個包含整數1、2和3的鏈表。

0
崇明县| 茶陵县| 资溪县| 五寨县| 拜泉县| 明星| 巴彦县| 井陉县| 喜德县| 徐州市| 洛川县| 阿巴嘎旗| 宣威市| 长葛市| 衡水市| 周口市| 遵化市| 原平市| 正蓝旗| 固镇县| 宾阳县| 平邑县| 炉霍县| 巫山县| 和平县| 庆云县| 即墨市| 北票市| 石景山区| 彰化县| 锦屏县| 焦作市| 仙居县| 岚皋县| 丰顺县| 怀宁县| 丰宁| 汉寿县| 西青区| 定陶县| 永昌县|