PHP链表操作简单示例


Posted in PHP onOctober 15, 2016

本文实例讲述了PHP链表操作。分享给大家供大家参考,具体如下:

在php中运行数据结构,基本都是用数组模拟的,只是用一直思想而已。

今天遇到的这个问题是,两个链表进行合并。

PHP链表操作简单示例

链表合并效果图

问题描述:A链表是模版链表,B链表的长度不确定,A,B二个链表结合后形成C链表。

说一下编程思想:A链表是模版链表所以在运算完成了,长度了唯一不变的。而B链表的长度是不确定的。所以可以先对B链表进行判断,分了三步:

B链表是不是为空
B链表是不是比A链表短或者相等
B链表是不是比A链表长

编程就是要列出尽可能的可能性。抓住变量,由于题目要求,当A链表和B链表相等时,直接返回B链表,所以不用考虑这个问题。

$node = array(
"nameid"=>"",
"shoolid"=>" ",
"depid"=>" ",
"start"=>" ",
"end"=>" "
);
/*
现在上面数据,有的数据存在A链表里面,有的存在B链表里面,如果都没有,用A链表的数据节点来代替。
开始第一次完成的时候,想了一个很蛋痛的方式,还用到arra_diff()函数用这个链表作差。后来仔细思考了一下。
*/
//$data 表示B链表
//$time 表示A链表
//这里为了节约资源,没开第三条链表,而是在B链表中操作,为什么要选一条不确定长度的链表
//看完你就知道为什么了
if(empty($data)) //
{
    //申请节点
    $data = array();
    foreach($time as $value)
    {
      //将A链表的数据进行需求处理,组成我们需要的节点模式
      $array = array("nameid"=>$value["id"],"depid"=>$depid,"schoolid"=>$schoolid,"start"=>"","end"=>"");
      array_push($data,$array); //将新节点压进栈
    }
}
else if(count($data)<=count($time)) //进行长度对比
{
   for($i=0;$i<count($time);$i++) //for循环,不建议在for循环继续动态判断,我这里是偷懒了。
   {
     if(empty($data[$i]))
     {
      //如果数据节点空,则构建节点
      $array = array("nameid"=>$time[$i]["id"],"depid"=>$depid,"schoolid"=>$schoolid,"start"=>"","end"=>"");
      array_push($data,$array);
     }
   }
}

上面的算法就简单的实习了,将A链表的数据,和B的数据组合。

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
用在PHP里的JS打印函数
Oct 09 PHP
发布一个用PHP fsockopen写的HTTP下载的类
Feb 22 PHP
php设计模式 DAO(数据访问对象模式)
Jun 26 PHP
php5.3中连接sqlserver2000的两种方法(com与ODBC)
Dec 29 PHP
遭遇php的in_array低性能问题
Sep 17 PHP
php下拉选项的批量操作的实现代码
Oct 14 PHP
php上传文件问题汇总
Jan 30 PHP
php 在线导入mysql大数据程序
Jun 11 PHP
PHP计算当前坐标3公里内4个角落的最大最小经纬度实例
Feb 26 PHP
在Win2003(64位)中配置IIS6+PHP5.2.17+MySQL5.5的运行环境
Apr 04 PHP
PHP中include/require/include_once/require_once使用心得
Aug 28 PHP
php实用代码片段整理
Nov 12 PHP
PHP在线打包下载功能示例
Oct 15 #PHP
PHP文件上传处理案例分析
Oct 15 #PHP
PHP小偷程序的设计与实现方法详解
Oct 15 #PHP
基于php判断客户端类型
Oct 14 #PHP
PHP实现登录搜狐广告获取广告联盟数据的方法【附demo源码】
Oct 14 #PHP
php生成与读取excel文件
Oct 14 #PHP
基于PHP实现用户注册登录功能
Oct 14 #PHP
You might like
Smarty+QUICKFORM小小演示
2007/02/25 PHP
php面向对象全攻略 (二) 实例化对象 使用对象成员
2009/09/30 PHP
使用PHP编写的SVN类
2013/07/18 PHP
PHP中绘制图像的一些函数总结
2014/11/19 PHP
php实现的三个常用加密解密功能函数示例
2017/11/06 PHP
利用PHP判断是手机移动端还是PC端访问的函数示例
2017/12/14 PHP
JavaScript的parseInt 取整使用
2011/05/09 Javascript
jquery focus(fn),blur(fn)方法实例代码
2011/12/16 Javascript
jquery ajax 同步异步的执行 return值不能取得的解决方案
2012/01/08 Javascript
javascript使用百度地图api和html5特性获取浏览器位置
2014/01/10 Javascript
jQuery控制元素显示、隐藏、切换、滑动的方法总结
2015/04/16 Javascript
jquery衣服颜色选取插件效果代码分享
2015/08/28 Javascript
如何使用Vuex+Vue.js构建单页应用
2016/10/27 Javascript
JS实现仿PS的调色板效果完整实例
2016/12/21 Javascript
jQuery实现二维码扫描功能
2017/01/09 Javascript
Vue声明式渲染详解
2017/05/17 Javascript
前端把html表格生成为excel表格的实例
2017/09/19 Javascript
vue路由跳转时判断用户是否登录功能的实现
2017/10/26 Javascript
vue 项目打包通过命令修改 vue-router 模式 修改 API 接口前缀
2018/06/13 Javascript
JavaScript的级联函数用法简单示例【链式调用】
2019/03/26 Javascript
vue 翻页组件vue-flip-page效果
2020/02/05 Javascript
JQuery插件tablesorter表格排序实现过程解析
2020/05/28 jQuery
Vue基本指令实例图文讲解
2021/02/25 Vue.js
[00:43]TI7不朽珍藏III——幽鬼不朽展示
2017/07/15 DOTA
[00:08]DOTA2勇士令状等级奖励“天外飞星”
2019/05/24 DOTA
Python使用gensim计算文档相似性
2016/04/10 Python
Python 25行代码实现的RSA算法详解
2018/04/10 Python
python将一组数分成每3个一组的实例
2018/11/14 Python
Python如何批量获取文件夹的大小并保存
2020/03/31 Python
Python3读写ini配置文件的示例
2020/11/06 Python
彪马日本官网:PUMA日本
2019/01/31 全球购物
大学班长的职责
2014/01/27 职场文书
机关节能减排实施方案
2014/03/17 职场文书
合伙协议书范本
2014/04/21 职场文书
《鸿门宴》教学反思
2014/04/22 职场文书
侵犯商业秘密的律师函
2015/05/27 职场文书