Updated Linked List (incomplete)

This commit is contained in:
Luke Else 2022-03-04 08:45:53 +00:00
parent 3cc5502db4
commit 2382011f26
3 changed files with 43 additions and 11 deletions

View File

@ -4,8 +4,9 @@
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<RootNamespace>C_</RootNamespace>
<ImplicitUsings>enable</ImplicitUsings>
<ImplicitUsings>disable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>

View File

@ -1,7 +1,3 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using C_.Datastructures.Nodes;
namespace C_.Datastructures
@ -27,7 +23,23 @@ namespace C_.Datastructures
public static LinkedList<T> Create(LinkedList<T> list1, LinkedList<T> list2){
//Append a previous list to a new List
return null;
LinkedList<T> list;
list = list1;
if (list == null || list.Count == 0)
{
//If list 2 is the only list present
return list2;
}
//Find end of list and append fist item of next list
if (list2 == null || list.Count == 0) return list;
Node<T>? end = list.Traverse();
end!.Next = list2!.Head;
list.Count += list2!.Count;
return list;
}
@ -60,7 +72,7 @@ namespace C_.Datastructures
private Node<T>? Traverse(){
//Start at Head of list
Node<T>? node = Head;
if (node == null)
if (node != null)
{
//continue to end of list
while (node!.Next != default(Node<T>))
@ -71,10 +83,10 @@ namespace C_.Datastructures
return node;
}
private Node<T> Traverse(Node<T> start){
private Node<T>? Traverse(Node<T> start){
//Start at given point in list
Node<T> node = start;
if (node == null)
Node<T>? node = start;
if (node != null)
{
//Continue to end of list
while (node!.Next != default(Node<T>))

View File

@ -1,2 +1,21 @@
// See https://aka.ms/new-console-template for more information
using System;
using C_.Datastructures;
// See https://aka.ms/new-console-template for more information
Console.WriteLine("Hello, World!");
LinkedList<int> list = new LinkedList<int>();
list.Add(1);
list.Add(2);
list.Add(3);
LinkedList<int> list2 = new LinkedList<int>();
list2.Add(1);
list2.Add(2);
list2.Add(3);
LinkedList<int> list3 = LinkedList<int>.Create(list, list);
Console.ReadLine();