The following is an article about the data structure of the PHP linked list (single-chain table ). I think this is quite good. now I will share it with you and give you a reference. Let's take a look at it with Xiaobian.
Linked list:It is an ordered list, but it is stored discretely in the memory. using a linked list can solve problems like Joseph, sorting, searching, and generalized tables.
One-Way linked list, two-way linked list, and Ring linked list
The underlying layer of PHP is C. when a program runs, the memory is divided into five areas (heap, stack, Global, constant, and code)
Rule: basic data type, usually in the stack area
Composite data types, such as objects, are stored in the heap area.
Define a class Hero
Define member attribute ranking $ no
Define member attribute name $ name
Define member attribute nickname $ nickname
Defines the member attribute $ next, which is a reference pointing to the next Hero object.
Define the constructor and pass the following parameters: $ no, $ name, $ nickname
Create a head. This head is only a header and is not put into data.
Get $ head object, new Hero ()
Get the first Hero object $ hero, new Hero (1, "", "Timely Rain ")
Connect two objects, $ head-> next = $ hero
Get the second Hero object $ hero2, new Hero (2, "Lu Junyi", "Yu Qilin ")
Connect two objects, $ hero-> next = $ hero2
Traversal chain table
Defines a function showHeros (). the parameter is $ head object.
Define a temporary variable $ cur to store $ head objects
While loop, Condition $ cur-> next is not null
Print it
Move the pointer behind, $ cur = $ cur-> next
PHP version:
<? Php/*** Hero class */class Hero {public $ no; public $ name; public $ nickname; public $ next = null; public function _ construct ($ no = '', $ name ='', $ nickname = '') {$ this-> no = $ no; $ this-> name = $ name; $ this-> nickname = $ nickname;} class LinkListDemo {public static function main () {$ head = new Hero (); $ hero1 = new Hero (1, "", "timely rain"); $ head-> next = $ hero1; $ hero2 = new Hero (2, "Lu Junyi ", "Yu Qilin"); $ hero1-> next = $ hero2; LinkListDemo: show Heros ($ head);}/*** show Hero */public static function showHeros ($ head) {$ cur = $ head; while ($ cur-> next! = Null) {echo "name:". $ cur-> next-> name ."
"; $ Cur = $ cur-> next ;}} LinkListDemo: main ();
Java version:
Class Hero {public int no; public String name; public String nickname; public Hero next = null; public Hero () {} public Hero (int no, String name, String nickname) {this. no = no; this. name = name; this. nickname = nickname;} public class LinkListDemo {/*** @ param args */public static void main (String [] args) {Hero head = new Hero (); hero hero1 = new Hero (1, "", "timely rain"); head. next = hero1; Hero hero2 = new Hero (2, "Lu Junyi", "Yu Qilin"); hero1.next = hero2; showHeros (head );} /*** display Hero * @ param head */public static void showHeros (Hero head) {Hero cur = head; while (cur. next! = Null) {System. out. println ("name:" + cur. next. name); cur = cur. next ;}}}
The above discussion about the data structure of the PHP linked list (single-chain table) is all the content shared by the small Editor. I hope you can give us a reference and support for your feet.