跳转到主内容
极星编程网:以代码为星,赴技术山海!

php线性表顺序存储实现代码(增删查改)

php实现线性表顺序存储的代码,需要的朋友可以参考下 代码如下: php
self::MAXSIZE) { echo '对不起,数组的长度'.$n.'超出了内存空间!'.self::MAXSIZE; } else if($necho '异常,长度不能为负数。'; } else if($n==0) { echo ' ....你创建了一张空表,数组长度为0.... '; $this->arr=$arr; $this->length=$n; }else{ echo ' ....成功创建一张表.... '; $this->arr=$arr; $this->length=$n; } } /* *按位查找,返回查找到的值 * @ruturn string; * @param int $n 查找的位置 */ function findValue($n) { if($n>$this->length||$nreturn '输入的位置'.$n.'不正确,请在1到'.$this->length.'的范围内'; } return '你要找的第'.$n.'位的值为'.$this->arr[$n-1]; } /* *按值查找,返回查找到的位置 * @ruturn string; * @param int $n 查找的值 */ function findSite($n) { for($i=0;$ilength;$i++){ if($this->arr[$i]==$n){ $b=$i+1; return '你要找的值'.$n.'对应的位置为'.$b; }else{ $v=false; } } if(!$v){ return '你所找的值'.$n.'不存在'; } } /* *在选定的位置处插入某个值 * @ruturn array; * @param int $i 插入位置 * @param int $v 插入的值 */ function insertValue($i,$v) { if($iself::MAXSIZE){ echo '插入的位置'.$i.'不正确,请在1到'.self::MAXSIZE.'的范围内'; return ; } for($h=$this->length;$h>=$i;$h--){ $this->arr[$h]=$this->arr[$h-1]; } if($i>$this->length){ $this->arr[$this->length]=$v; }else{ $this->arr[$i-1]=$v; } $this->length++; return $this->arr; } /* *在选定的位置删除某个值 * @ruturn array; * @param int $i 位置 */ function deleteValue($i) { if($i$this->length){ echo '选定的位置'.$i.'不正确,请在1到'.$this->length.'的范围内'; return ; } for($j=$i;$jlength;$j++){ $this->arr[$j-1]=$this->arr[$j]; } unset($this->arr[$this->length-1]); $this->length--; return $this->arr; } function __destruct(){ if($this->length==0){ echo ' ...销毁一张空表... '; }else{ echo ' ...成功销毁一张表.. '; } } } //下面是使用案例 $arr=array(10,125,123,1,4); $n=5; $linearList=new linearList($arr, $n); echo $linearList->findValue(5).' '; echo $linearList->findSite(4).' '; echo '
';
print_r($linearList->insertValue(20,300));
echo '
'; echo '
';
print_r($linearList->deleteValue(1));
echo '
';

相关文章