网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 大学论文导航 设计下载 最新论文 下载排行 原创论文 论文源代码
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > ASP.net > 正文

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

来源:http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/12/13

代码如下:
<?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>'';

 

(责任编辑:admin)

网学推荐

免费论文

原创论文

设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号