PHP数据结构练习笔记--线性表
2013-10-03 21:08
429 查看
1.类中变量直接调用和$this->调用不同
2.清空数组array方法:
A unset() 释放资源,这个array变量就没有了
B $arr=array() 重新赋值,将原有的变量赋值给一个新的空数组
线性表类--最终代码
2.清空数组array方法:
A unset() 释放资源,这个array变量就没有了
B $arr=array() 重新赋值,将原有的变量赋值给一个新的空数组
线性表类--最终代码
<?php //线性表类 class MyList{ //变量:数组、长度 private $arr; private $length; //构造函数 function __construct() { $this->arr=array(); $this->length=0; echo "初始化:"; //echo $arr; } //析构函数 function __destruct() { unset($this->arr); echo "释放资源"; } //在指定位置插入元素(第二个参数为空时,默认在表最后插入) function ListInsert($data,$poi='-1') { if($poi=='-1') { array_push($this->arr,$data); } else if($poi>0) { array_splice($this->arr,$poi-1,0,$data); } } //输出线性表 function ListTraverse() { print_r($this->arr); } //输出线性表长度 function ListLength() { $this->length=count($this->arr); echo " 长度:".$this->length; } //清空线性表 function ListClear() { echo "清空表:"; unset($this->arr); $this->arr=array(); } //判断线性表是否为空 function ListEmpty() { if($this->length==0) { echo " 空"; return false; } else{ echo " 非空"; return true; } } //获取线性表指定位置的数据 function GetElem($poi) { if($poi>$this->length||$poi<=0) { return false; } else{ return $this->arr[$poi-1]; } } //定位第一个与指定数据相等的元素位置(即下表+1) function LocateElem($data) { if(in_array($data,$this->arr)){ for($i=0;$i<$this->length;$i++) { if($this->arr[$i]==$data) { return $i; break; } else{ continue; } } } else{ return -1; } } //返回指定数据的前驱 function PriorElem($cur) { if($this->LocateElem($cur)==0) { return false; } else if($this->LocateElem($cur)>0) { $location=$this->LocateElem($cur); return $this->arr[$location-1]; } else if($this->LocateElem($cur)==-1) { return -1; } } //返回指定数据的后继 function NextElem($cur) { if($this->LocateElem($cur)==($this->length-1)) { return false; } else if($this->LocateElem($cur)>0) { $location=$this->LocateElem($cur); return $this->arr[$location+1]; } else if($this->LocateElem($cur)==-1) { return -1; } } function ListDelete($poi) { if($poi<1||$poi>$this->length) { return false; } else{ $res=$this->arr[$poi-1]; unset($this->arr[$poi-1]); return $res; } } } ?>
相关文章推荐
- PHP数据结构练习笔记--栈
- PHP数据结构练习笔记--队列
- 链表练习(数据结构线性表test2)
- C#数据结构学习笔记--线性表[转]
- php实现数据结构线性表(顺序和链式)
- 数据结构和算法笔记---线性表
- 【数据结构】学习笔记(一)——线性表
- php学习笔记:登录练习(3)
- 【C++数据结构学习笔记---线性表】用单链表实现线性表
- 韩顺平_php从入门到精通_视频教程_第4讲_图像_表格_实际应用-菜谱_课堂练习-课程表_学习笔记_源代码图解_PPT文档整理
- 数据结构与算法学习笔记——线性表
- 《数据结构》复习笔记--线性表
- 数据结构学习笔记——线性表(上)
- 坚持每天至少一百行。练习数据结构线性表
- 数据结构笔记03 线性表
- python笔记4 (练习数据结构笔记)
- 2、数据结构笔记之二线性表
- 线性表的两种实现方法-数据结构学习笔记2.1
- 数据结构 笔记2 线性表
- 数据结构学习笔记---线性表LIST