📜  C#|检查值是否在LinkedList中<T>(1)

📅  最后修改于: 2023-12-03 15:00:16.161000             🧑  作者: Mango

C# | 检查值是否在 LinkedList 中

介绍

本篇教程将向程序员介绍如何使用 C# 编程语言检查一个元素是否存在于 LinkedList 链表中。 LinkedList 是 C# 中的一个双向链表实现,并且可以在 O(1) 的时间复杂度内执行插入和删除操作。

示例代码
using System;
using System.Collections.Generic;

public class Program
{
    public static void Main()
    {
        LinkedList<int> linkedList = new LinkedList<int>();

        // 向链表中添加元素
        linkedList.AddLast(10);
        linkedList.AddLast(20);
        linkedList.AddLast(30);
        linkedList.AddLast(40);
        linkedList.AddLast(50);

        // 调用方法检查值是否存在于链表中
        int value = 30;
        bool isValuePresent = IsValuePresent(linkedList, value);

        Console.WriteLine("Value " + value + " is present in the LinkedList? : " + isValuePresent);
    }

    public static bool IsValuePresent<T>(LinkedList<T> linkedList, T value)
    {
        foreach (var item in linkedList)
        {
            if (EqualityComparer<T>.Default.Equals(item, value))
            {
                return true;
            }
        }
        
        return false;
    }
}
解释
  1. 在示例代码中,我们首先创建了一个 LinkedList<int> 类型的链表对象 linkedList
  2. 然后,我们添加了一些整数元素到链表中。
  3. 接下来,我们定义了一个静态方法 IsValuePresent<T>(LinkedList<T> linkedList, T value),该方法用于检查给定的值 value 是否在链表中。
  4. IsValuePresent 方法中,我们使用 foreach 循环遍历链表中的每个元素。
  5. 在循环中,我们使用 EqualityComparer<T>.Default.Equals(item, value) 方法来比较链表中的每个元素与给定值 value 是否相等。
  6. 如果存在相等的元素,则返回 true,表示给定的值在链表中找到。
  7. 如果循环结束后没有找到相等的元素,则返回 false,表示给定的值在链表中不存在。
结论

通过编写上述代码,您可以使用 C# 检查给定的值是否存在于 LinkedList 链表中。可以使用这个方法来确定链表中是否包含指定的元素,以执行进一步的操作。