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

 更新时间:2012年02月16日 19:13:46   作者:  
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>';

相关文章

  • php实现复制移动文件的方法

    php实现复制移动文件的方法

    这篇文章主要介绍了php实现复制移动文件的方法,实例分析了php实现针对文件的复制及移动的技巧,需要的朋友可以参考下
    2015-07-07
  • 全面解读PHP的Yii框架中的日志功能

    全面解读PHP的Yii框架中的日志功能

    这篇文章主要介绍了PHP的Yii框架中的日志,对日志的分析是日常网站维护中的基础,Yii提供了较为强大的日志功能,需要的朋友可以参考下
    2016-03-03
  • PHP读取文件,解决中文乱码UTF-8的方法分析

    PHP读取文件,解决中文乱码UTF-8的方法分析

    这篇文章主要介绍了PHP读取文件,解决中文乱码UTF-8的方法,结合实例形式对比分析了PHP文件读取及编码转换相关操作技巧,需要的朋友可以参考下
    2020-01-01
  • php中使用base HTTP验证的方法

    php中使用base HTTP验证的方法

    这篇文章主要介绍了php中使用base HTTP验证的方法,涉及预定义服务器变量$_SERVER及header方法的相关使用技巧,需要的朋友可以参考下
    2015-04-04
  • PHP面向对象程序设计之接口用法

    PHP面向对象程序设计之接口用法

    这篇文章主要介绍了PHP面向对象程序设计的接口用法,对PHP程序设计人员来说是有必要牢固掌握的概念,需要的朋友可以参考下
    2014-08-08
  • 基于PHP做个图片防盗链

    基于PHP做个图片防盗链

    本文主要介绍了Referer原理与图片防盗链实现方法,结合实例形式分析了Referer头信息原理与图片防盗链判定、实现方法,并附带一个Http请求封装类,需要的朋友可以参考下
    2022-12-12
  • php跨站攻击实例分析

    php跨站攻击实例分析

    这篇文章主要介绍了php跨站攻击的原理与防范技巧,以具体实例对php跨站攻击进行了较为详细的分析,是非常实用的技巧,需要的朋友可以参考下
    2014-10-10
  • 在mac OS上进行多个PHP版本之间切换的实现方法

    在mac OS上进行多个PHP版本之间切换的实现方法

    不同项目使用php版本可能不同,需要安装不同版本php,本文给大家介绍了在macOS上进行多个 PHP 版本之间切换的实现方法,文中有详细的代码示例供大家参考,需要的朋友可以参考下
    2023-10-10
  • PHP二维数组分页2种实现方法解析

    PHP二维数组分页2种实现方法解析

    这篇文章主要介绍了PHP二维数组分页2种实现方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • PHP实现统计所有字符在字符串中出现次数的方法

    PHP实现统计所有字符在字符串中出现次数的方法

    这篇文章主要介绍了PHP实现统计所有字符在字符串中出现次数的方法,涉及php字符遍历与统计运算相关操作技巧,需要的朋友可以参考下
    2017-10-10

最新评论