php链表和联表的区别,PHP_浅谈PHP链表数据结构(单链表),链表:是一个有序的列表,但 - phpStudy...
淺談PHP鏈表數(shù)據(jù)結(jié)構(gòu)(單鏈表)
鏈表:是一個(gè)有序的列表,但是它在內(nèi)存中是分散存儲(chǔ)的,使用鏈表可以解決類(lèi)似約瑟夫問(wèn)題,排序問(wèn)題,搜索問(wèn)題,廣義表
單向鏈表,雙向鏈表,環(huán)形鏈表
PHP的底層是C,當(dāng)一個(gè)程序運(yùn)行時(shí),內(nèi)存分成五個(gè)區(qū)(堆區(qū),棧區(qū),全局區(qū),常量區(qū),代碼區(qū))
規(guī)定:基本數(shù)據(jù)類(lèi)型,一般放在棧區(qū)
復(fù)合數(shù)據(jù)類(lèi)型,比如對(duì)象,放在堆區(qū)
定義一個(gè)類(lèi)Hero
定義成員屬性排名 $no
定義成員屬性姓名 $name
定義成員屬性昵稱(chēng) $nickname
定義成員屬性 $next,是一個(gè)引用,指向下一個(gè)Hero對(duì)象
定義構(gòu)造函數(shù),傳遞參數(shù):$no,$name,$nickname
創(chuàng)建一個(gè)頭head,該head只是一個(gè)頭,不放入數(shù)據(jù)
獲取$head對(duì)象,new Hero()
獲取第一個(gè)Hero對(duì)象$hero,new Hero(1,”宋江”,”及時(shí)雨”)
連接兩個(gè)對(duì)象,$head->next=$hero
獲取第二個(gè)Hero對(duì)象$hero2,new Hero(2,”盧俊義”,”玉麒麟”)
連接兩個(gè)對(duì)象,$hero->next=$hero2
遍歷鏈表
定義一個(gè)函數(shù)showHeros(),參數(shù):$head對(duì)象
定義一個(gè)臨時(shí)變量$cur來(lái)存儲(chǔ) $head對(duì)象
while循環(huán),條件$cur->next不為null
打印一下
指針后移,$cur=$cur->next
PHP版:
/**
* 英雄類(lèi)
*/
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,"宋江","及時(shí)雨");
$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, "宋江", "及時(shí)雨");
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)(單鏈表)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持phpstudy。相關(guān)閱讀:
java list去重操作實(shí)現(xiàn)方式
JavaScript的Backbone.js框架入門(mén)學(xué)習(xí)指引
JavaScript實(shí)現(xiàn)模仿桌面窗口的方法
CentOS系統(tǒng)上OpenVZ虛擬機(jī)的安裝和基本使用
javascript中的previousSibling和nextSibling的正確用法
win10升級(jí)出錯(cuò)提示錯(cuò)誤代碼0xc1900101 0x4000d該怎么辦?
Android 實(shí)現(xiàn)閃屏頁(yè)和右上角的倒計(jì)時(shí)跳轉(zhuǎn)實(shí)例代碼
Oracle將字符編碼從GBK轉(zhuǎn)到UTF8,如何操作比較穩(wěn)妥?
詳解javascript數(shù)組去重問(wèn)題
js與jquery正則驗(yàn)證電子郵箱、手機(jī)號(hào)、郵政編碼的方法
Win8.1專(zhuān)業(yè)版、核心版和企業(yè)版之間的區(qū)別
c語(yǔ)言實(shí)現(xiàn)24小時(shí)制轉(zhuǎn)換為12小時(shí)制示例
正則用(?>…)實(shí)現(xiàn)固化分組提高效率
mysql啟動(dòng)服務(wù)報(bào)1058錯(cuò)誤的解決方法
總結(jié)
以上是生活随笔為你收集整理的php链表和联表的区别,PHP_浅谈PHP链表数据结构(单链表),链表:是一个有序的列表,但 - phpStudy...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 小米 Redmi Buds 5 Pro
- 下一篇: PHP秒杀截流原理,节流阀和去抖动的基本