Compare commits

...

4 Commits

4 changed files with 7 additions and 15 deletions

View File

@ -6,10 +6,8 @@ using System.Threading.Tasks;
namespace C_.Datastructures.Nodes namespace C_.Datastructures.Nodes
{ {
internal class DoublyLinkedListNode<T> internal class DoublyLinkedListNode<T> : Node<T, DoublyLinkedListNode<T>>
{ {//Inherits from Node
public T? Value { get; set; } = default;
public DoublyLinkedListNode<T>? Next { get; set; } = default;
public DoublyLinkedListNode<T>? Prev { get; set; } = default; 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)

View File

@ -6,11 +6,8 @@ using System.Threading.Tasks;
namespace C_.Datastructures.Nodes namespace C_.Datastructures.Nodes
{ {
internal class LinkedListNode<T> internal class LinkedListNode<T> : Node<T, LinkedListNode<T>>
{ {//Inherits from Node
public T? Value { get; set; } = default;
public LinkedListNode<T>? Next { get; set; } = default;
public static LinkedListNode<T> Create(T? value, LinkedListNode<T>? next) public static LinkedListNode<T> Create(T? value, LinkedListNode<T>? next)
{ {
return new LinkedListNode<T> return new LinkedListNode<T>

View File

@ -7,7 +7,7 @@ using System.Threading.Tasks;
namespace C_.Datastructures.Nodes namespace C_.Datastructures.Nodes
{ {
internal class Node<T, NodeType> internal class Node<T, NodeType>
{ {//Generic Node type that every other type inherits from
public T? Value { get; set; } = default; public T? Value { get; set; } = default;
public NodeType? Next { get; set; } = default; public NodeType? Next { get; set; } = default;
} }

View File

@ -5,11 +5,8 @@ using System.Threading.Tasks;
namespace C_.Datastructures.Nodes namespace C_.Datastructures.Nodes
{ {
internal class StackNode<T> internal class StackNode<T> : Node<T, StackNode<T>>
{ {//Inherits from Node
public T? Value { get; set; } = default;
public StackNode<T>? Next { get; set; } = default;
public static StackNode<T> Create(T? value, StackNode<T>? next) public static StackNode<T> Create(T? value, StackNode<T>? next)
{ {
return new StackNode<T> return new StackNode<T>