首页 > 代码库 > 大话数据结构之php实现单链表
大话数据结构之php实现单链表
最近想起来两件事1.大话数据结构和大话设计模式
这两本书很有意思,C语言有指针,所以实现起来容易理解,所以突然想到用PHP写一下来熟悉一下数据结构的线性表,不过看的比较慢。一般两三天才看完一部分,毕竟还要工作,老板还安装摄像头看着每天干了啥。。。。。老板事业兴隆,嘻嘻。
线性表的概念不赘述,直接去看大话数据结构,代码也是在参考众多实现方案,比较符合大话数据结构的原本思想,就是基本上还原C语言的实现过程。
直接上代码
线性表
<?php /* *文件名:linearList.php * 功能:数据结构线性表的顺序存储实现 * author:jack * @copyright:www.gifttodj.com */ class linearList{ private $length; //当前长度 private $arr; //当前存储位置 const MAXSIZE=100; //最大长度 /* *构造函数,判断空表还是非空表,并且进行实例化,定义一个数组 * @param array $arr 输入的数组 * @param int $n 输入数组的长度 * @ruturn void; */ function __construct($arr,$n){ if($n>self::MAXSIZE){ echo "对不起,数组的长度超过了最大允许值".self::MAXSIZE; }elseif($n<0){ echo ‘异常,数组长度不能为负数‘; }elseif($n==0){ echo ‘<br/>... 你创建了一张空表,数组长度为0‘; $this->arr=$arr; $this->length=$n; }else{ echo ‘<br/>... 你成功创建了一张表<br/>‘; $this->arr=$arr; $this->length=$n; } } /* *按位查找,返回查找到的值 *@param int $n 查找的位置 * @ruturn string; */ function findValue($n){ if($n<1||$n>$this->length){ echo ‘输入的位置有误,请在1到‘.$this->length.‘范围内选择‘; } return ‘你要找的第‘.$n.‘位的值为‘.$this->arr[$n-1]; } /* *按值查找,返回查找到的位置 * @ruturn string; * @param int $n 查找的值 */ function findLocation($n){ $v=true; foreach($this->arr as $key=>$value){ if($value=http://www.mamicode.com/=$n){>
线性表测试 require_once(‘linearList.php‘); $arr=array(10,125,123,1,4); $n=5; $list = new linearList($arr,$n); echo $list->findValue(5).‘<br/>‘; echo $list->findLocation(4).‘<br/>‘; echo ‘<pre>‘; print_r($list->insertValue(20,300)); echo ‘</pre>‘; echo ‘<pre>‘; print_r($list->deleteValue(1)); echo ‘</pre>‘;
单链表<?php class LNode{ public $data; public $next; public function __construct($data=http://www.mamicode.com/‘‘){>
单链表测试require_once(‘LinkList.php‘); $list = new SingleLinkList(); $listt = $list->CreateListHead(5); $list = $list->ListTraverse(); var_dump($listt);
注意:应该没有注意的了,这个还是很有用武之地,只不过理论偏多,不喜欢的就跳过吧。本来也没有多大问题
本文出自 “一站式解决方案” 博客,请务必保留此出处http://10725691.blog.51cto.com/10715691/1947480
大话数据结构之php实现单链表
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。