温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

PHP链表的数据结构

发布时间:2021-09-03 21:51:35 来源:亿速云 阅读:170 作者:chen 栏目:开发技术

本篇内容主要讲解“PHP链表的数据结构”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PHP链表的数据结构”吧!

链表:是一个有序的列表,但是它在内存中是分散存储的,使用链表可以解决类似约瑟夫问题,排序问题,搜索问题,广义表

单向链表,双向链表,环形链表

PHP的底层是C,当一个程序运行时,内存分成五个区(堆区,栈区,全局区,常量区,代码区)

规定:基本数据类型,一般放在栈区

复合数据类型,比如对象,放在堆区


定义一个类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."<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链表的数据结构”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

php
AI