php線性表順序存儲實(shí)現(xiàn)代碼(增刪查改)
更新時間:2012年02月16日 19:13:46 作者:
php實(shí)現(xiàn)線性表順序存儲的代碼,需要的朋友可以參考下
復(fù)制代碼 代碼如下:
<?php
/*
*文件名:linearList.php
* 功能:數(shù)據(jù)結(jié)構(gòu)線性表的順序存儲實(shí)現(xiàn)
* author:黎錦煥
* @copyright:www.drw1314.com
*/
class linearList {
private $arr;
private $length;
const MAXSIZE=100;
/*
*構(gòu)造函數(shù),判斷空表還是飛空表,并且進(jìn)行實(shí)例化
* @param array $arr 輸入的數(shù)組
* @param int $n 輸入數(shù)組的長度
* @ruturn void;
*/
function __construct($arr,$n) {
if($n>self::MAXSIZE) {
echo '對不起,數(shù)組的長度'.$n.'超出了內(nèi)存空間!'.self::MAXSIZE;
} else if($n<0) {
echo '異常,長度不能為負(fù)數(shù)。';
} else if($n==0) {
echo '<br/>....你創(chuàng)建了一張空表,數(shù)組長度為0....<br/><br/>';
$this->arr=$arr;
$this->length=$n;
}else{
echo '<br/>....成功創(chuàng)建一張表....<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.'的范圍內(nèi)';
}
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.'對應(yīng)的位置為'.$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.'的范圍內(nèi)';
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.'的范圍內(nèi)';
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數(shù)據(jù)結(jié)構(gòu)之順序鏈表與鏈?zhǔn)骄€性表示例
- php線性表的入棧與出棧實(shí)例分析
- PHP+MySQL統(tǒng)計該庫中每個表的記錄數(shù)并按遞減順序排列的方法
- php實(shí)現(xiàn)單鏈表的實(shí)例代碼
- PHP小教程之實(shí)現(xiàn)鏈表
- 淺談PHP鏈表數(shù)據(jù)結(jié)構(gòu)(單鏈表)
- PHP小教程之實(shí)現(xiàn)雙向鏈表
- PHP實(shí)現(xiàn)單鏈表翻轉(zhuǎn)操作示例
- PHP鏈表操作簡單示例
- PHP環(huán)形鏈表實(shí)現(xiàn)方法示例
- php實(shí)現(xiàn)的順序線性表示例
相關(guān)文章
在mac?OS上進(jìn)行多個PHP版本之間切換的實(shí)現(xiàn)方法
不同項(xiàng)目使用php版本可能不同,需要安裝不同版本php,本文給大家介紹了在macOS上進(jìn)行多個?PHP?版本之間切換的實(shí)現(xiàn)方法,文中有詳細(xì)的代碼示例供大家參考,需要的朋友可以參考下2023-10-10
PHP二維數(shù)組分頁2種實(shí)現(xiàn)方法解析
這篇文章主要介紹了PHP二維數(shù)組分頁2種實(shí)現(xiàn)方法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-07-07
PHP實(shí)現(xiàn)統(tǒng)計所有字符在字符串中出現(xiàn)次數(shù)的方法
這篇文章主要介紹了PHP實(shí)現(xiàn)統(tǒng)計所有字符在字符串中出現(xiàn)次數(shù)的方法,涉及php字符遍歷與統(tǒng)計運(yùn)算相關(guān)操作技巧,需要的朋友可以參考下2017-10-10

