90 lines
1.9 KiB
C#
90 lines
1.9 KiB
C#
|
/*
|
||
|
* C# Program to Implement Traversal in Singly Linked List
|
||
|
*/
|
||
|
using System;
|
||
|
using System.Collections.Generic;
|
||
|
using System.Linq;
|
||
|
using System.Text;
|
||
|
namespace Program
|
||
|
{
|
||
|
class singlelist
|
||
|
{
|
||
|
private int data;
|
||
|
private singlelist next;
|
||
|
public singlelist()
|
||
|
{
|
||
|
data = 0;
|
||
|
next = null;
|
||
|
}
|
||
|
public singlelist(int value)
|
||
|
{
|
||
|
data = value;
|
||
|
next = null;
|
||
|
}
|
||
|
public singlelist InsertNext(int value)
|
||
|
{
|
||
|
singlelist node = new singlelist(value);
|
||
|
if (this.next == null)
|
||
|
{
|
||
|
node.next = null;
|
||
|
this.next = node;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
singlelist temp = this.next;
|
||
|
node.next = temp;
|
||
|
this.next = node;
|
||
|
}
|
||
|
return node;
|
||
|
}
|
||
|
public int DeleteNext()
|
||
|
{
|
||
|
if (next == null)
|
||
|
return 0;
|
||
|
singlelist node = this.next;
|
||
|
this.next = this.next.next;
|
||
|
node = null;
|
||
|
return 1;
|
||
|
}
|
||
|
public void Traverse(singlelist node)
|
||
|
{
|
||
|
if (node == null)
|
||
|
node = this;
|
||
|
System.Console.WriteLine("Traversing :");
|
||
|
while (node != null)
|
||
|
{
|
||
|
System.Console.WriteLine(node.data);
|
||
|
node = node.next;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
class Program
|
||
|
{
|
||
|
static void Main(string[] args)
|
||
|
{
|
||
|
singlelist node1 = new singlelist(11);
|
||
|
singlelist node2 = node1.InsertNext(12);
|
||
|
singlelist node3 = node2.InsertNext(13);
|
||
|
singlelist node4 = node3.InsertNext(14);
|
||
|
singlelist node5 = node4.InsertNext(15);
|
||
|
node1.Traverse(null);
|
||
|
Console.WriteLine("Deleting !!");
|
||
|
node3.DeleteNext();
|
||
|
node2.Traverse(null);
|
||
|
System.Console.ReadLine();
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/*
|
||
|
Traversing :
|
||
|
11
|
||
|
12
|
||
|
13
|
||
|
14
|
||
|
15
|
||
|
Deleting!!!
|
||
|
Traversing :
|
||
|
12
|
||
|
13
|
||
|
14
|