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


Posted in PHP onJune 08, 2016

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

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

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链表数据结构(单链表)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
5.PHP的其他功能
Oct 09 PHP
PHP4与PHP3中一个不兼容问题的解决方法
Oct 09 PHP
php session 检测和注销
Mar 16 PHP
PHP中最容易忘记的一些知识点总结
Apr 28 PHP
php 表单提交大量数据发生丢失的解决方法
Mar 03 PHP
PHP防止注入攻击实例分析
Nov 03 PHP
PHP中Session可能会引起并发问题
Jun 26 PHP
php获取网站百度快照日期的方法
Jul 29 PHP
PHP操作mysql数据库分表的方法
Jun 09 PHP
PHP进行批量任务处理不超时的解决方法
Jul 11 PHP
php 读取输出其他文件的实现方法
Jul 26 PHP
php获取今日开始时间和结束时间的方法
Feb 27 PHP
PHP Yaf框架的简单安装使用教程(推荐)
Jun 08 #PHP
WordPress分页伪静态加html后缀
Jun 08 #PHP
php 流程控制switch的简单实例
Jun 07 #PHP
php 使用curl模拟登录人人(校内)网的简单实例
Jun 06 #PHP
PHP session 会话处理函数
Jun 06 #PHP
thinkphp,onethink和thinkox中验证码不显示的解决方法分析
Jun 06 #PHP
PHP编写的图片验证码类文件分享
Jun 06 #PHP
You might like
PHP 递归效率分析
2009/11/24 PHP
超级好用的一个php上传图片类(随机名,缩略图,加水印)
2010/06/30 PHP
PHP代码优化的53个细节
2014/03/03 PHP
24条货真价实的PHP代码优化技巧
2016/07/28 PHP
laravel 输出最后执行sql 附:whereIn的使用方法
2019/10/10 PHP
Laravel ORM 数据model操作教程
2019/10/21 PHP
动态的创建一个元素createElement及删除一个元素
2014/01/24 Javascript
JavaScript文本框脚本编写的注意事项
2016/01/25 Javascript
使用AJAX实现Web页面进度条的实例分享
2016/05/06 Javascript
jQuery在ie6下无法设置select选中的解决方法详解
2016/09/20 Javascript
JavaScript实现前端实时搜索功能
2020/03/26 Javascript
微信小程序页面传值实例分析
2017/04/19 Javascript
vue使用Axios做ajax请求详解
2017/06/07 Javascript
Vue如何从1.0迁移到2.0
2017/10/19 Javascript
使用Node.js实现ORM的一种思路详解(图文)
2017/10/24 Javascript
详解vue中async-await的使用误区
2018/12/05 Javascript
vue 判断两个时间插件结束时间必选大于开始时间的代码
2020/11/04 Javascript
[51:30]OG vs LGD 2018国际邀请赛淘汰赛BO3 第二场 8.26
2018/08/30 DOTA
python实现感知器
2017/12/19 Python
python 从文件夹抽取图片另存的方法
2018/12/04 Python
python运行时强制刷新缓冲区的方法
2019/01/14 Python
vscode配置anaconda3的方法步骤
2020/08/08 Python
Python3+selenium配置常见报错解决方案
2020/08/28 Python
国际鲜花速递专家:Floraqueen
2016/11/24 全球购物
美国紧身牛仔裤品牌:NYDJ
2017/05/24 全球购物
Martinelli官方商店:西班牙皮鞋和高跟鞋品牌
2019/07/30 全球购物
土耳其玩具商店:Toyzz Shop
2019/08/02 全球购物
面向游戏玩家和书呆子的极客订阅盒:Loot Crate
2020/11/25 全球购物
监理员的岗位职责
2013/11/13 职场文书
幼儿园消防安全制度
2014/01/26 职场文书
新闻编辑自荐书范文
2014/02/12 职场文书
学风建设演讲稿
2014/09/12 职场文书
2014年大班保育员工作总结
2014/12/02 职场文书
学期个人工作总结
2015/02/13 职场文书
实习感想范文
2015/08/10 职场文书
严以律己专题学习研讨会发言材料
2015/11/09 职场文书