首页 > 编程 > PHP > 正文

浅谈PHP链表数据结构(单链表)

2020-03-22 17:01:57
字体:
来源:转载
供稿:网友
链表:是一个有序的列表,但是它在内存中是分散存储的,使用链表可以解决类似约瑟夫问题,排序问题,搜索问题,广义表单向链表,双向链表,环形链表PHP的底层是C,当一个程序运行时,内存分成五个区(堆区,栈区,全局区,常量区,代码区)规定:基本数据类型,一般放在栈区复合数据类型,比如对象,放在堆区
定义一个类Hero定义成员属性排名 $no定义成员属性姓名 $name定义成员属性昵称 $nickname定义成员属性 $next,是一个引用,指向下一个Hero对象定义html' target='_blank'>构造函数,传递参数:$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- nextPHP版:
* 英雄类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链表数据结构(单链表)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持phpstudy。PHP教程

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表