淺談PHP鏈表資料結構(單鏈表),淺談單鏈_PHP教程

來源:互聯網
上載者:User

淺談PHP鏈表資料結構(單鏈表),淺談單鏈


鏈表:是一個有序的列表,但是它在記憶體中是分散儲存的,使用鏈表可以解決類似約瑟夫問題,排序問題,搜尋問題,廣義表

單向鏈表,雙向鏈表,環形鏈表

PHP的底層是C,當一個程式運行時,記憶體分成五個區(堆區,棧區,全域區,常量區,代碼區)

規定:基礎資料型別 (Elementary Data Type),一般放在棧區

複合資料型別,比如對象,放在堆區


定義一個類Hero

定義成員屬性排名 $no

定義成員屬性姓名 $name

定義成員屬性暱稱 $nickname

定義成員屬性 $next,是一個引用,指向下一個Hero對象

定義建構函式,傳遞參數:$no,$name,$nickname


建立一個頭head,該head只是一個頭,不放入資料

擷取$head對象,new Hero()

擷取第一個Hero對象$hero,new Hero(1,”宋江”,”及時雨”)

串連兩個對象,$head->next=$hero

擷取第二個Hero對象$hero2,new Hero(2,”盧俊義”,”玉麒麟”)

串連兩個對象,$hero->next=$hero2


遍曆鏈表

定義一個函數showHeros(),參數:$head對象

定義一個臨時變數$cur來儲存 $head對象

while迴圈,條件$cur->next不為null

列印一下

指標後移,$cur=$cur->next

PHP版:

<?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."
"; $cur=$cur->next; } }}LinkListDemo::main();

java版:

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;    }  }}

以上這篇淺談PHP鏈表資料結構(單鏈表)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援幫客之家。

http://www.bkjia.com/PHPjc/1135014.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/1135014.htmlTechArticle淺談PHP鏈表資料結構(單鏈表),淺談單鏈 鏈表: 是一個有序的列表,但是它在記憶體中是分散儲存的,使用鏈表可以解決類似約瑟夫問題,排...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.