淺談PHP鏈表數(shù)據(jù)結(jié)構(gòu)(單鏈表)
來源:易賢網(wǎng) 閱讀:703 次 日期:2016-08-17 15:47:12
溫馨提示:易賢網(wǎng)小編為您整理了“淺談PHP鏈表數(shù)據(jù)結(jié)構(gòu)(單鏈表)”,方便廣大網(wǎng)友查閱!

鏈表:是一個有序的列表,但是它在內(nèi)存中是分散存儲的,使用鏈表可以解決類似約瑟夫問題,排序問題,搜索問題,廣義表,單向鏈表,雙向鏈表,環(huán)形鏈表

PHP的底層是C,當一個程序運行時,內(nèi)存分成五個區(qū)(堆區(qū),棧區(qū),全局區(qū),常量區(qū),代碼區(qū))

規(guī)定:基本數(shù)據(jù)類型,一般放在棧區(qū),復合數(shù)據(jù)類型,比如對象,放在堆區(qū)

定義一個類Hero

定義成員屬性排名 $no

定義成員屬性姓名 $name

定義成員屬性昵稱 $nickname

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

定義構(gòu)造函數(shù),傳遞參數(shù):$no,$name,$nickname

創(chuàng)建一個頭head,該head只是一個頭,不放入數(shù)據(jù)

獲取$head對象,new Hero()

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

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

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

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

遍歷鏈表

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

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

while循環(huán),條件$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."<br/>";

      $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鏈表數(shù)據(jù)結(jié)構(gòu)(單鏈表)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考

更多信息請查看網(wǎng)絡(luò)編程
易賢網(wǎng)手機網(wǎng)站地址:淺談PHP鏈表數(shù)據(jù)結(jié)構(gòu)(單鏈表)
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 加入群交流 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號
聯(lián)系電話:0871-65317125(9:00—18:00) 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
咨詢QQ:526150442(9:00—18:00)版權(quán)所有:易賢網(wǎng)