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

溫馨提示×

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
太原市| 宜兰市| 黄龙县| 恩施市| 吕梁市| 林西县| 诸城市| 紫阳县| 砀山县| 华宁县| 西昌市| 余干县| 留坝县| 高台县| 修文县| 察雅县| 台东县| 灵山县| 榆中县| 瑞金市| 祁东县| 大竹县| 湘潭县| 改则县| 宁国市| 榆树市| 紫金县| 东辽县| 白城市| 桃江县| 涿鹿县| 曲麻莱县| 泗洪县| 资讯| 辰溪县| 文成县| 福州市| 洛阳市| 乌兰察布市| 元阳县| 绥棱县|