//单链表

class hero{

var $name;

var $sn;

var $names;

var $next;

public function __construct($sn='',$name='',$names='',$next=''){

$this->name=$name;

$this->sn=$sn;

$this->names=$names;

$this->next=$next;

}

}

//头结点

$head=new hero();

//增加链表节点

function addHero($head,$hero){

$cul=$head;

while($cul->next!=null){

if($cul->next->sn>$hero->sn){

$hero->next=$cul->next;

$cul->next=$hero;

$flag='';

break;

}

$cul=$cul->next;

}

if(!isset($flag))

$cul->next=$hero;

}

//遍历链表

function showHero($head){

$cul=$head;

while($cul->next!=null){

echo $cul->next->sn.' '.$cul->next->name.' '.$cul->next->names.'
';

$cul=$cul->next;

}

//echo 'a'.$head->name.'
';

}

//删除链表节点

function delHero($head,$sn){

$cul=$head;

while($cul->next!=null){

if($cul->next->sn==$sn){

$cul->next=$cul->next->next;

$flag='';

break;

}

$cul=$cul->next;

}

if(!isset($flag))echo $sn.'的英雄没找到
';

}

//修改节点

function editHero($head,$hero){

$cul=$head;

while($cul->next!=null){

if($hero->sn==$cul->next->sn){

$hero->next=$cul->next->next;

$cul->next=$hero;

$flag='';

break;

}

$cul=$cul->next;

}

if(!isset($flag))echo $hero->sn.'的英雄没找到
';

}

//测试

//增加节点

$hero=new hero(1,'小宝','小宝宝');

addHero($head,$hero);

$hero=new hero(2,'小贝','小贝贝');

addHero($head,$hero);

$hero=new hero(3,'小白','小白白');

addHero($head,$hero);

$hero=new hero('6','香兰','向兰兰');

addHero($head,$hero);

$hero=new hero('4','李峰','李峰分');

addHero($head,$hero);

$hero=new hero('5','刘雪','刘雪雪');

addHero($head,$hero);

$hero=new hero('7','寒梅','韩梅梅');

addHero($head,$hero);

//遍历节点

showHero($head);

//删除节点

echo '
删除后


';

delHero($head,2);

showHero($head);

//修改节点

echo '
修改后


';

$hero=new hero('4','赵峰','赵凤凤');

editHero($head,$hero);

showHero($head);

?>

php数据结构 链表,php数据结构-单链表相关推荐

  1. 数据结构实验之链表五:单链表的拆分-sdut

    数据结构实验之链表五:单链表的拆分 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 输入N个 ...

  2. SDUT_2122 数据结构实验之链表七:单链表中重复元素的删除

    提交代码 数据结构实验之链表七:单链表中重复元素的删除 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Proble ...

  3. 【数据结构链表】之五单链表

    一:链表基础 1.链表基础----------------摘录自百度百科 链表是一种物理存储单元上非连续.非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的.链表由一系列结点(链表中 ...

  4. 数据结构与算法:单链表(利用万能指针实现对任意类型数据进行操作)

    前言 C语言的指针真的很强大,万能指针更强大,可以指向任意类型的数据.在上篇博客 数据结构与算法:单链表(超详细实现)中用C语言实现了单链表的相关算法,不过却有局限性 只能针对某一种数据类型还是不够强 ...

  5. 数据结构与算法:单链表(超详细实现)

    实现算法预览 这次博主写的单链表主要实现了以下算法.所有功能可进行循环运行测试.欢迎各位指正. LinkList.h #pragma once #ifndef __LINKLIST_H__ #defi ...

  6. 数据结构与算法之单链表

    数据结构与算法之单链表 //链表的实现/*实现单链表的 构建.数据添加.数据删除(返回元素所在位置).数据查找(返回元素所在的位置)的算法设计:*/ //链表的实现/*实现单链表的 构建.数据添加.数 ...

  7. 【1138】数据结构上机测试2-1:单链表操作A(顺序建表+删除节点)(SDUT)

    数据结构上机测试2-1:单链表操作A Time Limit: 1000ms   Memory limit: 4096K  有疑问?点这里^_^ 题目描述 输入n个整数,先按照数据输入的顺序建立一个带头 ...

  8. 数据结构(二)——单链表的头插与尾插

    一.引言 上篇文章我们知道了顺序表的缺点: 插入和删除操作需要移动大量元素. 数组的大小不好确定. 存储分配需要一整段连续的存储空间,不够灵活,造成很多碎片(空闲的空间得不到利用). 所以我们就引入了 ...

  9. 数据结构练习:运用单链表实现图书管理系统(c/c++)(内含带头结点的单链表的基本操作)

    数据结构练习:运用单链表实现图书管理系统 正文 注意 部分功能运行展示 所包含头文件及结构体的定义 自定义函数 主函数 完整代码 结束语 正文 本程序使用带头节点的单链表存储结构实现,共有六个基本功能 ...

  10. (数据结构与算法)单链表与双链表增删改查的实现。

    文章目录 链表介绍 1. 单链表应用实例 1.1 实现思路 1.2 代码实现 2.单链表常见面试题 2.1 求单链表中有效节点的个数 2.2 查找单链表中倒数第K个节点 2.3 单链表的反转 2.4 ...

最新文章

  1. iOS 9应用开发教程之ios9中实现按钮的响应
  2. GPU 加速下的图像处理
  3. 最大连续子数组和 动态规划_剑指Offer算法题 33:连续子数组的最大和
  4. eZ publish 3 安装指南
  5. 怎样在hdfs上创建多级目录文件夹_【HDFS API编程】第一个应用程序的开发-创建文件夹...
  6. 洛谷P3379 【模板】最近公共祖先(LCA)
  7. [转]bookmark整理之.NET编程相关
  8. 基于Pairwise排序学习的因子分解推荐算法
  9. php 查询access数据库操作,php操作access数据库的方法详解
  10. 大M法(Big M Method)
  11. 路由交换技术(一)---- 网络基础概述
  12. VB弹出“访问系统注册表错误”提示对话框
  13. Unity Spine动画如何选定帧数(时间)播放
  14. 【通識:人生哲學與幸福】老子人生觀巡禮
  15. Intranet/Internet
  16. Docker--容器挂载
  17. STM32中的程序在RAM还是FLASH里运行?
  18. 54亿美元!谷歌收购Mandiant,推动网络安全行业创新
  19. 免费矢量图标网站都有哪些,推荐这10个
  20. 计算机检修与维修教程 ppt,计算机维护与维修教程_中.ppt

热门文章

  1. 60创意的USB设备和小工具
  2. [矩阵求逆+二分图匹配]BZOJ 3168 [Heoi2013]钙铁锌硒维生素
  3. coldfusion_ColdFusion中的一周:1月30日至2月5日:一切
  4. 科学大家谈 | 全球著名蛋白质工程学家——张阳
  5. 大数据 客户标签体系_大数据标签体系建立
  6. 每日一思(2022.5.19)——前无古人后无来者
  7. mac连接android手机存储,Android安卓设备连接Mac的方法
  8. 开利网络拜访普恺图酒业总部,品高端酒,探共赢合作方案
  9. Dlink DIR-615L 和 Mercury MW300R WDS 应用举例
  10. 剑指offe面试题8 旋转数组的最小数字 (java实现)