C# Linkedlist

C# LinkedList<T> class uses the concept of linked list. It allows us to insert and delete elements fastly. It can have duplicate elements. It is found in System.Collections.Generic namespace.

It allows us to add and remove element at before or last index.

C# LinkedList<T> example

Let's see an example of generic LinkedList<T> class that stores elements using AddLast and AddFirst methods and iterates elements using for-each loop.

Example

using System;

using System.Collections.Generic;



public class LinkedListExample

{

    public static void Main(string[] args)

    {

        // Create a list of strings

        var names = new LinkedList<string>();

        names.AddLast("Sonoo Jaiswal");

        names.AddLast("Ankit");

        names.AddLast("Peter");

        names.AddLast("Irfan");

        names.AddFirst("John");//added to first index



        // Iterate list element using foreach loop

        foreach (var name in names)

        {

            Console.WriteLine(name);

        }

    }

}

Output:

Output

John

Sonoo Jaiswal

Ankit

Peter

Irfan

Note: Unlike List, you cannot create LinkedList using Collection initializer.

C# LinkedList<T> example 2

Let's see another example of generic LinkedList<T> class that stores elements before and after specific node. To get the specific node, we are calling Find method.

Example

using System;

using System.Collections.Generic;



public class LinkedListExample

{

    public static void Main(string[] args)

    {

        // Create a list of strings

        var names = new LinkedList<string>();

        names.AddLast("Sonoo");

        names.AddLast("Ankit");

        names.AddLast("Peter");

        names.AddLast("Irfan");

        

        //insert new element before "Peter"

        LinkedListNode<String> node=names.Find("Peter");

        names.AddBefore(node, "John");

        names.AddAfter(node, "Lucy");



        // Iterate list element using foreach loop

        foreach (var name in names)

        {

            Console.WriteLine(name);

        }

    }

}

Output:

Output

Sonoo

Ankit

John

Peter

Lucy

Irfan

As you can see in the above output "John" and "Lucy" are added before and after "Peter".

Input Required

This code uses input(). Please provide values below: