本文实例讲述了php链表用法。分享给大家供大家参考。具体如下:
这里简单介绍了php链表的基本用法,包括链表节点的创建、遍历、更新等操作。
<?php /** * @author MzXy * @copyright 2011 * @param PHP链表 */ /** * *节点类 */ class Node { private $Data;//节点数据 private $Next;//下一节点 public function setData($value){ $this->Data=$value; } public function setNext($value){ $this->Next=$value; } public function getData(){ return $this->Data; } public function getNext(){ return $this->Next; } public function __construct($data,$next){ $this->setData($data); $this->setNext($next); } }//功能类 class LinkList { private $header;//头节点 private $size;//长度 public function getSize(){ $i=0; $node=$this->header; while($node->getNext()!=null) { $i++; $node=$node->getNext(); } return $i; } public function setHeader($value){ $this->header=$value; } public function getHeader(){ return $this->header; } public function __construct(){ header("content-type:text/html; charset=utf-8"); $this->setHeader(new Node(null,null)); } /** *@author MzXy *@param $data--要添加节点的数据 * */ public function add($data) { $node=$this->header; while($node->getNext()!=null) { $node=$node->getNext(); } $node->setNext(new Node($data,null)); } /** *@author MzXy *@param $data--要移除节点的数据 * */ public function removeAt($data) { $node=$this->header; while($node->getData()!=$data) { $node=$node->getNext(); } $node->setNext($node->getNext()); $node->setData($node->getNext()->getData()); } /** *@author MzXy *@param 遍历 * */ public function get() { $node=$this->header; if($node->getNext()==null){ print("数据集为空!"); return; } while($node->getNext()!=null) { print($node->getNext()->getData()); if($node->getNext()->getNext()==null){break;} $node=$node->getNext(); } } /** *@author MzXy *@param $data--要访问的节点的数据 * @param 此方法只是演示不具有实际意义 * */ public function getAt($data) { $node=$this->header->getNext(); if($node->getNext()==null){ print("数据集为空!"); return; } while($node->getData()!=$data) { if($node->getNext()==null){break;} $node=$node->getNext(); } return $node->getData(); } /** *@author MzXy *@param $value--需要更新的节点的原数据 --$initial---更新后的数据 * */ public function update($initial,$value) { $node=$this->header->getNext(); if($node->getNext()==null){ print("数据集为空!"); return; } while($node->getData()!=$data) { if($node->getNext()==null){break;} $node=$node->getNext(); } $node->setData($initial); } } ?>
希望本文所述对大家的php程序设计有所帮助。
本文向大家介绍PHP中STDCLASS用法实例分析,包括了PHP中STDCLASS用法实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP中STDCLASS用法。分享给大家供大家参考,具体如下: PHP中STDCLASS在我们开发应用中使用到的不多,但是PHP中STDCLASS作用是非常的大的,下面我们一起来看PHP中STDCLASS的用法. 在WordPress中很多地方使用s
本文向大家介绍PHP函数func_num_args用法实例分析,包括了PHP函数func_num_args用法实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP函数func_num_args用法。分享给大家供大家参考,具体如下: 运行结果如下: 希望本文所述对大家php程序设计有所帮助。
本文向大家介绍PHP 双链表(SplDoublyLinkedList)简介和使用实例,包括了PHP 双链表(SplDoublyLinkedList)简介和使用实例的使用技巧和注意事项,需要的朋友参考一下 双链表是一种重要的线性存储结构,对于双链表中的每个节点,不仅仅存储自己的信息,还要保存前驱和后继节点的地址。 PHP SPL中的SplDoublyLinkedList类提供了对双链表的操作。 Sp
本文向大家介绍PHP正则表达式函数preg_replace用法实例分析,包括了PHP正则表达式函数preg_replace用法实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP正则表达式函数preg_replace用法。分享给大家供大家参考,具体如下: preg_replace 执行一个正则表达式的搜索和替换 语法:preg_replace (pattern ,replacem
本文向大家介绍php算法实例分享,包括了php算法实例分享的使用技巧和注意事项,需要的朋友参考一下 只打印0 具体个数由输入的参数n决定 如n=5就打印00000 打印一行 0101010101010101010101 具体个数由输入的参数n决定 如test.php?n=3打印010 实现1 00 111 0000 11111 for if 实现 for switch 实现
本文向大家介绍javascript原型链继承用法实例分析,包括了javascript原型链继承用法实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例分析了javascript原型链继承的用法。分享给大家供大家参考。具体分析如下: 当我们对对象的prototype属性进行完全重写时,有时候会对对象constructor属性产生一定的负面影响。 所以,在我们完成相关的继承关系设定后,对这些