Home  >  Article  >  Backend Development  >  PHP linear table sequential storage implementation code (add, delete, check and modify)_PHP tutorial

PHP linear table sequential storage implementation code (add, delete, check and modify)_PHP tutorial

WBOY
WBOYOriginal
2016-07-21 15:21:031092browse

Copy code The code is as follows:

/*
*File name: linearList.php
* Function: Sequential storage implementation of data structure linear table
* author:Li Jinhuan
* @copyright:www.drw1314.com
*/
class linearList {
private $arr;
private $length;
const MAXSIZE=100;
/*
* Constructor to determine whether the table is empty or empty, and instantiate it
* @param array $arr input Array
* @param int $n The length of the input array
* @ruturn void;
*/
function __construct($arr,$n) {
if($n>self: :MAXSIZE) {
echo 'Sorry, the length of the array '.$n.' exceeds the memory space!'.self::MAXSIZE;
} else if($n<0) {
echo ' Exception, length cannot be negative. ';
} else if($n==0) {
echo '
....You created an empty table with an array length of 0....
';
$this->arr=$arr;
$this->length=$n;
}else{
echo '
....Successfully created a table....

';
$this->arr=$arr;
$this-> length=$n;
}
}
/*
*Bitwise search, return the found value
* @ruturn string;
* @param int $n searched Position
*/
function findValue($n) {
if($n>$this->length||$n<1){
return 'Input position'.$n .' is incorrect, please be in the range of 1 to '.$this->length.';
}
return 'The value of the '.$n.'th position you are looking for is'. $this->arr[$n-1];
}
/*
* Search by value and return the found position
* @ruturn string;
* @param int $n value to find
*/
function findSite($n) {
for($i=0;$i<$this->length;$i++){
if($ this->arr[$i]==$n){
$b=$i+1;
return 'The value you are looking for'.$n.' corresponds to '.$b' ;
}else{
$v=false;
}
}
if(!$v){
return 'The value you are looking for'.$n.' No Exists';
}
}
/*
*Insert a value at the selected position
* @ruturn array;
* @param int $i insertion position
* @param int $v inserted value
*/
function insertValue($i,$v) {
if($i<1||$i>self::MAXSIZE){
echo 'The inserted position '.$i.' is incorrect, please be in the range from 1 to '.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;
}
/*
*Delete a value at the selected position
* @ruturn array;
* @param int $i position
*/
function deleteValue($i) {
if($i< ;1||$i>$this->length){
echo 'The selected position'.$i.' is incorrect, please be in the range of 1 to '.$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 '
...Destroy an empty table...
';
}else{
echo '
...Destroy a table successfully..
';
}
}
}
//The following is the use case
$arr=array(10,125,123,1,4);
$n=5; >$linearList=new linearList($arr, $n);
echo $linearList->findValue(5).'
';
echo $linearList->findSite(4) .'
';
echo '
'; <br>print_r($linearList->insertValue(20,300)); <br>echo '
';
echo '
'; <br>print_r($linearList->deleteValue(1)); <br>echo '
';

http://www.bkjia.com/PHPjc/324971.htmlwww.bkjia.comtruehttp: //www.bkjia.com/PHPjc/324971.htmlTechArticleCopy the code code as follows: ?php /* *File name: linearList.php *Function: Data structure linear list Sequential storage implementation* author:Li Jinhuan* @copyright:www.drw1314.com */ class linear...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn