Find length of circular linked list in php
Php program for Find length of circular linked list . Here more information.
<?php
// Php program for
// Count number of nodes in circular linked list
// Define class of linked list Node
class LinkNode
{
public $data;
public $next;
public function __construct($data, $first)
{
$this->data = $data;
$this->next = $first;
}
}
class CircularLinkedList
{
public $head;
// Class constructor
public function __construct()
{
$this->head = NULL;
}
// Insert node at end of circular linked list
public function insert($value)
{
// Create a new node
$node = new LinkNode($value, $this->head);
if ($this->head == NULL)
{
// First node of linked list
$this->head = $node;
$node->next = $this->head;
}
else
{
$temp = $this->head;
// Find the last node
while ($temp->next != $this->head)
{
// Visit to next node
$temp = $temp->next;
}
// Add new node at the last
$temp->next = $node;
}
}
public function countNode()
{
if ($this->head == NULL)
{
return 0;
}
// Start with second node
$temp = $this->head->next;
// This is used to count linked node
$count = 1;
// iterate circular linked list
while ($temp != $this->head)
{
$count += 1;
// Visit to next node
$temp = $temp->next;
}
return $count;
}
public static
function main($args)
{
$cll = new CircularLinkedList();
// Add nodes
$cll->insert(1);
$cll->insert(3);
$cll->insert(5);
$cll->insert(7);
$cll->insert(9);
$cll->insert(11);
// Display result
printf("%d\n", $cll->countNode());
}
}
CircularLinkedList::main(array());
Output
6
Please share your knowledge to improve code and content standard. Also submit your doubts, and test case. We improve by your feedback. We will try to resolve your query as soon as possible.
New Comment