public Circularlist(int value) { currentdata = value; nextdata = this; }
public Circularlist() { currentdata = 0; nextdata = this; }
public int Delete() { if(this.nextdata == this) { System.Console.WriteLine("\n There is only one node..."); return 0; } Circularlist node = this.nextdata; this.nextdata = this.nextdata.nextdata; node = null; return 1; }
public void Traverse(Circularlist node) { if(node == null) node = this; System.Console.WriteLine("Forward Direction..."); Circularlist snode = node; do { System.Console.WriteLine(node.currentdata); node = node.nextdata; } while(node != snode); }
static void Main(string[] args) { Circularlist node1 = new Circularlist(23); node1.Delete(); Circularlist node2 = node1.Insert(33); node1.Delete(); node2 = node1.Insert(43); Circularlist node3 = node2.Insert(33); Circularlist node4 = node3.Insert(43); Circularlist node5 = node4.Insert(53); node1.Gnodes(); node5.Gnodes(); node1.Traverse(); node5.Delete(); node2.Traverse(); node1.Gnodes(); node2.Gnodes(); Console.Read(); }
public int Gnodes(Circularlist node) { if(node == null) node = this; int count = 0; Circularlist snode = node; do { count++; node = node.nextdata; } while(node != snode); System.Console.WriteLine("\nCurrent Node Value : " + node.currentdata.ToString()); System.Console.WriteLine("\nTotal nodes :" + count.ToString()); return count; }
public Circularlist Insert(int value) { Circularlist n = new Circularlist(value); if(this.nextdata == this) { n.nextdata = this; this.nextdata = n; } else { Circularlist temp = this.nextdata; n.nextdata = temp; this.nextdata = n; } return n; }