Added new functions to DoublyLinkedList - Traverse still incomplete

This commit is contained in:
2022-03-08 21:34:37 +00:00
parent 80bb1cc492
commit 9c1a5738ca
5 changed files with 109 additions and 22 deletions

View File

@ -4,16 +4,16 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace C_.Datastructures.Nodes.LinkedList
namespace C_.Datastructures.Nodes
{
internal class DoublyLinkedListNode<T> : INode<T>
internal class DoublyLinkedListNode<T>
{
public T? Value { get; set; } = default;
public INode<T>? Next { get; set; } = default(DoublyLinkedListNode<T>);
public DoublyLinkedListNode<T>? Next { get; set; } = default;
public INode<T>? Prev { get; set; } = default(DoublyLinkedListNode<T>);
public DoublyLinkedListNode<T>? Prev { get; set; } = default;
public static DoublyLinkedListNode<T> Create(T? value, DoublyLinkedListNode<T>? next, DoublyLinkedListNode<T> prev)
public static DoublyLinkedListNode<T> Create(T? value, DoublyLinkedListNode<T>? next, DoublyLinkedListNode<T>? prev)
{
return new DoublyLinkedListNode<T>
{

View File

@ -1,13 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace C_.Datastructures.Nodes
{
public interface INode<T>
{
public T? Value { get; set; }
public INode<T>? Next { get; set; }
}
}

View File

@ -4,12 +4,12 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace C_.Datastructures.Nodes.LinkedList
namespace C_.Datastructures.Nodes
{
internal class LinkedListNode<T> : INode<T>
internal class LinkedListNode<T>
{
public T? Value { get; set; } = default;
public INode<T>? Next { get; set; } = default(LinkedListNode<T>);
public LinkedListNode<T>? Next { get; set; } = default;
public static LinkedListNode<T> Create(T? value, LinkedListNode<T>? next)
{