This article mainly introduces the simple implementation of the circular linked list function in PHP, briefly describes the concept and function of the circular linked list, and analyzes the PHP definition and related operating skills of using the circular linked list in the form of examples. Friends who need it can refer to it
The details are as follows:
Overview:
Circular linked list is another form of linked storage structure. Its characteristic is that the pointer field of the last node in the list points to the head node, and the entire linked list forms a ring.
As shown below:
Implementation code:
<?php class node{ public $data; public $link; public function __construct($data=null,$link=null){ $this->data=$data; $this->link=$link; } } class cycleLinkList{ public $head; public function __construct($data,$link=null){ $this->head=new node($data,$link); $this->head->link=$this->head; } public function insertLink($data){ $p=new node($data); $q=$this->head->link; $r=$this->head; if($q==$r) { $q->link=$p; $p->link=$q; return; } while($q!=$this->head){ $r=$q;$q=$q->link; } $r->link=$p; $p->link=$this->head; } } $linklist=new cycleLinkList(1); for($i=2;$i<11;$i++){ $linklist->insertLink($i); } $q=$linklist->head->link; echo $linklist->head->data; while($q!=$linklist->head){ echo $q->data; $q=$q->link; } echo "<br>--------------------------<br>"; $p=$linklist->head; $r=$p; $n=10; $i=2; while($n) { while(0!=$i){ $r=$p;$p=$p->link; $i--; } echo $p->data; $r->link=$p->link; $tmp=$p; $p=$p->link; unset($tmp); $n--; $i=2; } ?>
Running results:
12345678910 -------------------------- 36927185104
JavaScript data structure single linked list and circular linked list example sharing
PHP simple implementation example of circular linked list function
JavaScript doubly linked list and two-way circular linked list accomplish
The above is the detailed content of PHP implements circular linked list function. For more information, please follow other related articles on the PHP Chinese website!