文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php教程>php线性表顺序存储实现代码(增删查改)

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

时间:2021-01-19  来源:互联网

php实现线性表顺序存储的代码,需要的朋友可以参考下

代码如下:

<?php 

/* 

*文件名:linearList.php 

* 功能:数据结构线性表的顺序存储实现 

* author:黎锦焕 

* @copyright:www.drw1314.com 

*/ 

class linearList { 

private $arr; 

private $length; 

const MAXSIZE=100; 

/* 

*构造函数,判断空表还是飞空表,并且进行实例化 

* @param array $arr 输入的数组 

* @param int $n 输入数组的长度 

* @ruturn void; 

*/ 

function __construct($arr,$n) { 

if($n>self::MAXSIZE) { 

echo '对不起,数组的长度'.$n.'超出了内存空间!'.self::MAXSIZE; 

} else if($n<0) { 

echo '异常,长度不能为负数。'; 

} else if($n==0) { 

echo '<br/>....你创建了一张空表,数组长度为0....<br/><br/>'; 

$this->arr=$arr; 

$this->length=$n; 

}else{ 

echo '<br/>....成功创建一张表....<br/><br/>'; 

$this->arr=$arr; 

$this->length=$n; 

/* 

*按位查找,返回查找到的值 

* @ruturn string; 

* @param int $n 查找的位置 

*/ 

function findValue($n) { 

if($n>$this->length||$n<1){ 

return '输入的位置'.$n.'不正确,请在1到'.$this->length.'的范围内'; 

return '你要找的第'.$n.'位的值为'.$this->arr[$n-1]; 

/* 

*按值查找,返回查找到的位置 

* @ruturn string; 

* @param int $n 查找的值 

*/ 

function findSite($n) { 

for($i=0;$i<$this->length;$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($i<1||$i>self::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<1||$i>$this->length){ 

echo '选定的位置'.$i.'不正确,请在1到'.$this->length.'的范围内'; 

return ; 

for($j=$i;$j<$this->length;$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 '<br/>...销毁一张空表...<br/>'; 

}else{ 

echo '<br/>...成功销毁一张表..<br/>'; 

//下面是使用案例 

$arr=array(10,125,123,1,4); 

$n=5; 

$linearList=new linearList($arr, $n); 

echo $linearList->findValue(5).'<br/>'; 

echo $linearList->findSite(4).'<br/>'; 

echo '<pre>'; 

print_r($linearList->insertValue(20,300)); 

echo '</pre>'; 

echo '<pre>'; 

print_r($linearList->deleteValue(1)); 

echo '</pre>'; 

以上就是本文的全部内容,希望对你的学习有所帮助。

相关阅读更多 +
最近更新
排行榜 更多 +
元梦之星最新版手游

元梦之星最新版手游

棋牌卡牌 下载
我自为道安卓版

我自为道安卓版

角色扮演 下载
一剑斩仙

一剑斩仙

角色扮演 下载