Home >Backend Development >PHP Tutorial >A brief discussion on PHP linked list data structure (singly linked list), a brief discussion on single chain_PHP tutorial

A brief discussion on PHP linked list data structure (singly linked list), a brief discussion on single chain_PHP tutorial

WBOY
WBOYOriginal
2016-07-12 08:50:03834browse

A brief talk about PHP linked list data structure (singly linked list), a brief talk about single chain

Linked list: is an ordered list , but it is stored dispersedly in the memory. Using linked lists can solve problems like Joseph's problem, sorting problem, search problem, generalized table

One-way linked list, two-way linked list, circular linked list

The bottom layer of PHP is C. When a program is running, the memory is divided into five areas (heap area, stack area, global area, constant area, code area)

Provisions: Basic data types, generally placed in the stack area

Composite data types, such as objects, are placed in the heap area


Define a class Hero

Define member attribute ranking $no

Define member attribute name $name

Define member attribute nickname $nickname

Define member attribute $next, which is a reference pointing to the next Hero object

Define the constructor and pass parameters: $no, $name, $nickname


Create a head, which is just a header and does not put data

Get the $head object, new Hero()

Get the first Hero object $hero, new Hero(1,"Song Jiang","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


Traverse the linked list

Define a function showHeros(), parameter: $head object

Define a temporary variable $cur to store the $head object

while loop, condition $cur->next is not null

Print it

Move the pointer backward, $cur=$cur->next

PHP version:

<&#63;php
/**
* 英雄类
*/
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,"宋江","及时雨");
    $head->next=$hero1;
    $hero2=new Hero(2,"卢俊义","玉麒麟");
    $hero1->next=$hero2;
    LinkListDemo::showHeros($head);
  }
  /**
  * 展示英雄
  */
  public static function showHeros($head){
    $cur=$head;
    while($cur->next!=null){
      echo "姓名:".$cur->next->name."<br/>";
      $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, "宋江", "及时雨");
    head.next=hero1;
    Hero hero2=new Hero(2, "卢俊义", "玉麒麟");
    hero1.next=hero2;
    showHeros(head);
  }
  /**
   * 展示英雄
   * @param head
   */
  public static void showHeros(Hero head){
    Hero cur=head;
    while(cur.next!=null){
      System.out.println("姓名:"+cur.next.name);
      cur=cur.next;
    }
  }
}

The above article briefly discussing the PHP linked list data structure (singly linked list) is all the content shared by the editor. I hope it can give you a reference, and I also hope that everyone will support Bangkejia.

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/1135014.htmlTechArticleA brief talk about PHP linked list data structure (singly linked list), a brief talk about singly linked list: It is an ordered list, But it is stored dispersedly in the memory. Using a linked list can solve problems similar to Joseph's problem...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn