{}
run-icon
Main.cs
using System; public class Node { public int Data; public Node Next; public Node(int num) { Data = num; Next = null; } } public class LinkedList { public Node head; public void AddNode(int num) { Node newNode = new Node(num); if (head == null) { head = newNode; return; } Node current = head; while (current.Next != null) { current = current.Next; } current.Next = newNode; } public void AddNodeFromFront(int num) { Node newNode = new Node(num); if (head == null) { head = newNode; return; } newNode.Next = head; head = newNode; } public int DeleteNode(int num) { if(head == null) { Console.WriteLine("List is empty"); return -1; } if(head.Data == num) { int deletedValue = head.Data; head = head.Next; return deletedValue; } Node current = head; while(current.Next != null) { if(current.Next.Data == num) { current.Next = current.Next.Next; return current.Next.Data; } current = current.Next; } return -1; } public int DeleteFirstNode() { if(head == null) { return -1; } int deletedNode = head.Data; head = head.Next; return deletedNode; } public int SearchNode(int num) { if(head == null) { return -1; } Node current = head; while(current != null) { if(current.Data == num) { Console.WriteLine("Found in list"); return current.Data; } current = current.Next; } return -1; } public int MaxNode() { if(head == null) { return -1; } Node current = head; int maxValue = head.Data; while(current != null) { if(maxValue < current.Data) { maxValue = current.Data; } current = current.Next; } return maxValue; } public int SumOfNodes() { if(head == null) { return -1; } Node current = head; int sumOfNodes = 0; while(current != null) { sumOfNodes += current.Data; current = current.Next; } return sumOfNodes; } public void PrintNode() { if (head == null) { Console.WriteLine("List is empty"); return; } int count = 0; Node current = head; while (current != null) { Console.WriteLine(current.Data); current = current.Next; count++; } Console.WriteLine("Total numbers of nodes are: " + count); } } public class HelloWorld { public static void Main(string[] args) { LinkedList l1 = new LinkedList(); l1.AddNode(10); l1.AddNode(20); l1.AddNode(30); l1.AddNode(40); l1.AddNode(50); l1.AddNode(60); l1.AddNodeFromFront(5); l1.PrintNode(); int deletedNode = l1.DeleteNode(20); Console.WriteLine("Deleted Node:" + deletedNode); l1.PrintNode(); int deletedFirstNode1 = l1.DeleteFirstNode(); Console.WriteLine("Deleted Node:" + deletedFirstNode1); int deletedFirstNode2 = l1.DeleteFirstNode(); Console.WriteLine("Deleted Node:" + deletedFirstNode2); int deletedFirstNode3 = l1.DeleteFirstNode(); Console.WriteLine("Deleted Node:" + deletedFirstNode3); l1.PrintNode(); int nodeToSearch = l1.SearchNode(40); Console.WriteLine("Found Node:" + nodeToSearch); l1.PrintNode(); int maxNode = l1.MaxNode(); Console.WriteLine("MAX Node: " + maxNode); int sumNode = l1.SumOfNodes(); Console.WriteLine("SUM of Node: " + sumNode); } }
Output