using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace NodeList
{
public class Node
{
public int data;
public int np;
public string names;
public Node next;
public Node(int data,int np,string names)
{
this.data = data;
this.np = np;
this.names = names;
this.next = null;
}
}
public class LinkedList
{
private Node first;
private Node last;
public bool isEmpty()
{
return first == null;
}
public void Insert(int data,int np,string names)
{
Node newNode = new Node(data, np, names);
if (this.isEmpty())
{
first = newNode;
last = newNode;
}
else
{
last.next = newNode;
last = newNode;
}
}
public void Delecte(Node delNode)
{
Node newNode;
Node tmp;
if (first.data == delNode.data)
{
first = first.next;
}
else if (last.data == delNode.data)
{
newNode = first;
while (newNode.next != last) { newNode = newNode.next; }
newNode.next = last.next;
last = newNode;
}
else
{
newNode = first;
tmp = first;
while (newNode.data != delNode.data)
{
tmp = newNode;
newNode = newNode.next;
}
tmp.next = delNode.next;
}
}
public void Print()
{
Node current = first;
while (current != null)
{
Console.WriteLine("["+current.data+" "+current.names+" "+current.np+"]");
current = current.next;
}
}
}
}